Uploaded image for project: 'Jetspeed 2 (Retired)'
  1. Jetspeed 2 (Retired)
  2. JS2-678

Can't store huge preference objects, got SQL truncation error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 2.1
    • None
    • None
    • Windows XP SP2; JAVA "1.6.0_01" (Sun Microsystems);

    Description

      I've build a JSR168 portal application, developed and tested with Apache Pluto 1.0.2 (svn).
      This works very well and so far error free.
      When I use my portlets in Jetspeed 2.1 and want to save my preferences, I've got an nested SQL Exception from the portlet container. See error log below. I only can estimate the serialized size of my object with a value of ~1000bytes. I've only did serializing + zip + base64 and got a value of 983 ascii characters. So at least, this is bigger than 256

      10.04.2007 22:42:22 org.springframework.web.portlet.FrameworkPortlet processRequest
      SCHWERWIEGEND: Could not complete request
      org.springframework.dao.DataIntegrityViolationException: OJB operation; SQL []; A truncation error was encountered trying to shrink VARCHAR 'rO0ABXNyACBjb20ucGNzLnBvcnRvd2ViLklFVk1Db250ZXh0SW1wbLkRQyPO&' to length 254.; nested exception is SQL Exception: A truncation error was encountered trying to shrink VARCHAR 'rO0ABXNyACBjb20ucGNzLnBvcnRvd2ViLklFVk1Db250ZXh0SW1wbLkRQyPO&' to length 254.
      Caused by: ERROR 22001: A truncation error was encountered trying to shrink VARCHAR 'rO0ABXNyACBjb20ucGNzLnBvcnRvd2ViLklFVk1Db250ZXh0SW1wbLkRQyPO&' to length 254.
      at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
      at org.apache.derby.iapi.types.SQLChar.hasNonBlankChars(Unknown Source)
      at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
      at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
      at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown Source)
      at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown Source)
      at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown Source)
      at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source)
      at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
      at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
      at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
      at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:216)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1754)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToMany(PersistenceBrokerImpl.java:1057)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(PersistenceBrokerImpl.java:928)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1776)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813)
      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726)
      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
      at org.springmodules.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:246)
      at org.springmodules.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141)
      at org.springmodules.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:244)
      at org.apache.jetspeed.prefs.impl.PersistenceBrokerPreferencesProvider.storeNode(PersistenceBrokerPreferencesProvider.java:426)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
      at $Proxy8.storeNode(Unknown Source)
      at org.apache.jetspeed.prefs.impl.PreferencesImpl.putSpi(PreferencesImpl.java:244)
      at java.util.prefs.AbstractPreferences.put(AbstractPreferences.java:234)
      at org.apache.jetspeed.om.preference.impl.PrefsPreference.setValues(PrefsPreference.java:267)
      at org.apache.jetspeed.om.preference.impl.PrefsPreference.setValues(PrefsPreference.java:334)
      at org.apache.pluto.core.impl.PortletPreferencesImpl.store(PortletPreferencesImpl.java:327)
      at com.pcs.portoweb.portal.editpref.PrefUtils.setPreferedIEVMContext(PrefUtils.java:89)
      at com.pcs.portoweb.portal.editpref.TabSettingsViewController.updateUserEnvironment(TabSettingsViewController.java:132)
      at com.pcs.portoweb.portal.editpref.TabSettingsViewController.doHandleActionRequestInternal(TabSettingsViewController.java:50)
      at com.pcs.portoweb.portal.AbstractTabViewController.handleActionRequestInternal(AbstractTabViewController.java:35)
      at org.springframework.web.portlet.mvc.AbstractController.handleActionRequest(AbstractController.java:197)
      at org.springframework.web.portlet.mvc.SimpleControllerHandlerAdapter.handleAction(SimpleControllerHandlerAdapter.java:46)
      at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:638)
      at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:418)
      at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:400)
      at org.apache.jetspeed.factory.JetspeedPortletInstance.processAction(JetspeedPortletInstance.java:96)
      at org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:245)
      at org.apache.jetspeed.container.JetspeedContainerServlet.doPost(JetspeedContainerServlet.java:383)
      .... cutted

      Attachments

        Activity

          People

            Unassigned Unassigned
            marki Martin W. Kirst
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: