Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-38471

SessionComponent returning session values greater than 36 characters

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Major
    • Resolution: Incomplete
    • Affects Version/s: 2.9.x
    • Fix Version/s: 2.9.x
    • Component/s: Kernel
    • Labels:
      None
    • Previous Issue Keys:
      KNL-1050

      Description

      We're seeing issues right now on trunk when using webdav. This is because the sessions are now being returned as 40 characters instead of 36. This method should restrict the sessionId returned to 36 characters for compatibility with the database. Also it should log if there is an exception.

        • WARNING: A change to address this issue introduced a bug in the Kernel 1.3.2 (Sakai 2.9.2) release that truncated the SESSION_IDs, which causes SESSION_ID constraint violations. This change was reverted in the Kernel 1.3.3 (Sakai 2.9.3) release.

      2013-03-28 13:54:54,468 WARN http-bio-8082-exec-14 org.sakaiproject.util.RequestFilter -
      java.lang.RuntimeException: SqlService.dbWrite failure
      at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1289)
      at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1143)
      at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1059)
      at org.sakaiproject.event.impl.UsageSessionServiceAdaptor$ClusterStorage.addSession(UsageSessionServiceAdaptor.java:926)
      at org.sakaiproject.event.impl.UsageSessionServiceAdaptor.startSession(UsageSessionServiceAdaptor.java:313)
      at org.sakaiproject.event.impl.UsageSessionServiceAdaptor.login(UsageSessionServiceAdaptor.java:525)
      . . .
      at java.lang.Thread.run(Thread.java:722)
      Caused by: java.sql.SQLException: ORA-12899: value too large for column "SAK"."SAKAI_SESSION"."SESSION_ID" (actual: 40, maximum: 36)

      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
      at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)
      at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
      at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
      at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1247)
      ... 28 more

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  jonespm Matthew Jones
                  Reporter:
                  jonespm Matthew Jones
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration