[Building Sakai] Error on nightly with dav

Matthew Jones matthew at longsight.com
Thu Mar 28 13:07:19 PDT 2013


Has anyone seen this before? There is an error on nightly when accessing
dav. I duplicated it after updating locally. It wasn't happening before but
I haven't updated in awhile.

The error on the bottom is this

java.sql.SQLException: ORA-12899: value too large for column
"SAK"."SAKAI_SESSION"."SESSION_ID" (actual: 40, maximum: 36)

It looks like it's using SHA-1 as a session-id which is *supposed to* have
a 40 character size, but this code is almost a 4 years old. I'm only seeing
the error in the last few days.

As this seems like dav was *just* working. (Or at least mostly
working). And this bit of code (SessionComponent) hasn't been changed
in years . . . Making the DB column 40 fixes this, but it's strange
that this is just coming up now?

alter table SAKAI_SESSION MODIFY SESSION_ID VARCHAR(40);

=-=-=-=-=-=-=-=-=

The only thing I can think of is previously this code in makeSessionId
was hitting the exception cases, causing it to return 36 character
Uuid's instead, and now it's suddenly not?

			sessionId = byteArrayToHexStr(sha.digest());			
		} catch (NoSuchAlgorithmException e) {
			// Fallback to new uuid rather than a non-hashed id
			sessionId = idManager().createUuid();
		} catch (UnsupportedEncodingException e) {
			sessionId = idManager().createUuid();
		}

=-=-=-=-=-=-=-=-=

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 org.sakaiproject.event.impl.UsageSessionServiceAdaptor.login(UsageSessionServiceAdaptor.java:516)
	at org.sakaiproject.event.cover.UsageSessionService.login(UsageSessionService.java:171)
	at org.sakaiproject.dav.DavServlet.service(DavServlet.java:1096)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	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
2013-03-28 13:54:54,599  WARN http-bio-8082-exec-13
org.sakaiproject.db.impl.BasicSqlService - Sql.dbWrite(): error code:
12899 sql: insert into SAKAI_SESSION
(SESSION_ID,SESSION_SERVER,SESSION_USER,SESSION_IP,SESSION_HOSTNAME,SESSION_USER_AGENT,SESSION_START,SESSION_END,SESSION_ACTIVE)
values (?, ?, ?, ?, ?, ?, ?, ?, ?) binds:
0C83237608959D8EF9FD3344C290C034D4DD199E
sakai-nightly.uits.iupui.edu-1364487114696
f1082ec5-4465-4174-bd6c-d98470a1cf83 70.125.42.53 null litmus/0.13
neon/0.29.6 20130328175454597 20130328175454597 true
java.sql.SQLException: ORA-12899: value too large for column
"SAK"."SAKAI_SESSION"."SESSION_ID" (actual: 40, maximum: 36)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20130328/8a6fce6b/attachment.html 


More information about the sakai-dev mailing list