Continuum
  1. Continuum
  2. CONTINUUM-1688

Maximum length for name column in object ChangeFile is too small

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1-beta-2
    • Fix Version/s: 1.2
    • Component/s: Database
    • Labels:
      None
    • Flags:
      Patch

      Description

      This bug is similar to a bunch of other bugs like this, it seems the data model has been consistently designed with too few characters in the name field. This particular bugs occurs when Continuum tries to store the test results (SuiteResult in the model). Using -Dmaven.test.skip=true made the problem disappear.

      I've attached a very simple fix for the problem, however, I note that TestCaseFailure has no stash.maxSize set, and as soon as my Test breaks it will probably crash with the same problem.

      Here's the stack trace:

      863290102 [Thread-6] ERROR org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor:build-project - Error executing task
      edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: javax.jdo.JDOFatalUserException: Attempt to store value "/new-web/newweb-erp-integration/trunk/src/main/ja
      va/com/pointcarbon/erp/agresso/domain/agressostatus/AcuhistrStatus.java (from /new-web/newweb-erp-integration/trunk/src/main/java/com/pointcarbon/erp/agresso/domain/agressos
      tatus/AcuhistrStatusEnum.java:4297)" in column ""NAME"" that has maximum length of 255. Please correct your data!
      at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299)
      at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118)
      at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
      at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
      Caused by: javax.jdo.JDOFatalUserException: Attempt to store value "/new-web/newweb-erp-integration/trunk/src/main/java/com/pointcarbon/erp/agresso/domain/agressostatus/Acuh
      istrStatus.java (from /new-web/newweb-erp-integration/trunk/src/main/java/com/pointcarbon/erp/agresso/domain/agressostatus/AcuhistrStatusEnum.java:4297)" in column ""NAME""
      that has maximum length of 255. Please correct your data!
      at org.jpox.store.rdbms.mapping.CharRDBMSMapping.setString(CharRDBMSMapping.java:214)
      at org.jpox.store.mapping.SingleFieldMapping.setString(SingleFieldMapping.java:203)
      at org.jpox.store.rdbms.fieldmanager.ParameterSetter.storeStringField(ParameterSetter.java:122)
      at org.jpox.state.StateManagerImpl.providedStringField(StateManagerImpl.java:2757)
      at org.apache.maven.continuum.model.scm.ChangeFile.jdoProvideField(ChangeFile.java)
      at org.apache.maven.continuum.model.scm.ChangeFile.jdoProvideFields(ChangeFile.java)
      at org.jpox.state.StateManagerImpl.provideFields(StateManagerImpl.java:3115)
      at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:252)
      at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2519)
      at org.jpox.store.StoreManager.insert(StoreManager.java:920)
      at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
      at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
      at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1198)
      at org.jpox.AbstractPersistenceManager.makePersistentInternal(AbstractPersistenceManager.java:1243)
      at org.jpox.store.rdbms.scostore.FKListStore.validateElementForWriting(FKListStore.java:1231)
      at org.jpox.store.rdbms.scostore.FKListStore.internalAdd(FKListStore.java:772)
      at org.jpox.store.rdbms.scostore.AbstractListStore.addAll(AbstractListStore.java:386)
      at org.jpox.store.mapping.CollectionMapping.postInsert(CollectionMapping.java:209)
      at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:464)
      at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2519)
      at org.jpox.store.StoreManager.insert(StoreManager.java:920)
      at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
      at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
      at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1198)
      at org.jpox.AbstractPersistenceManager.makePersistentInternal(AbstractPersistenceManager.java:1243)
      at org.jpox.store.rdbms.scostore.FKListStore.validateElementForWriting(FKListStore.java:1231)
      at org.jpox.store.rdbms.scostore.FKListStore.internalAdd(FKListStore.java:772)
      at org.jpox.store.rdbms.scostore.AbstractListStore.addAll(AbstractListStore.java:386)
      at org.jpox.store.mapping.CollectionMapping.postInsert(CollectionMapping.java:209)
      at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:464)
      at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2519)
      at org.jpox.store.StoreManager.insert(StoreManager.java:920)
      at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
      at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
      at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1198)
      at org.jpox.AbstractPersistenceManager.makePersistentInternal(AbstractPersistenceManager.java:1243)
      at org.jpox.store.mapping.PersistenceCapableMapping.setObject(PersistenceCapableMapping.java:450)
      at org.jpox.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:144)
      at org.jpox.state.StateManagerImpl.providedObjectField(StateManagerImpl.java:2771)
      at org.apache.maven.continuum.model.project.BuildResult.jdoProvideField(BuildResult.java)
      at org.apache.maven.continuum.model.project.BuildResult.jdoProvideFields(BuildResult.java)
      at org.jpox.state.StateManagerImpl.provideFields(StateManagerImpl.java:3115)
      at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:252)
      at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2519)
      at org.jpox.store.StoreManager.insert(StoreManager.java:920)
      at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
      at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
      at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1198)
      at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1261)
      at org.codehaus.plexus.jdo.PlexusJdoUtils.makePersistent(PlexusJdoUtils.java:175)
      at org.apache.maven.continuum.store.JdoContinuumStore.makePersistent(JdoContinuumStore.java:763)
      at org.apache.maven.continuum.store.JdoContinuumStore.addBuildResult(JdoContinuumStore.java:436)
      at org.apache.maven.continuum.buildcontroller.DefaultBuildController.makeAndStoreBuildResult(DefaultBuildController.java:686)
      at org.apache.maven.continuum.buildcontroller.DefaultBuildController.updateBuildResult(DefaultBuildController.java:230)
      at org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:444)
      at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:145)
      at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
      at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
      at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
      at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
      at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
      at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
      at java.lang.Thread.run(Thread.java:595)

        Issue Links

          Activity

          Olivier Lamy (*$^¨%`£) created issue -
          Olivier Lamy (*$^¨%`£) made changes -
          Field Original Value New Value
          Link This issue relates to CONTINUUM-1494 [ CONTINUUM-1494 ]
          Hide
          Olivier Lamy (*$^¨%`£) added a comment -

          Currently the size is 512.
          Upgrade to 2048 or 1024 ?

          Show
          Olivier Lamy (*$^¨%`£) added a comment - Currently the size is 512. Upgrade to 2048 or 1024 ?
          Hide
          Olivier Lamy (*$^¨%`£) added a comment -

          fixed in rev 636909
          bump size to 1024

          Show
          Olivier Lamy (*$^¨%`£) added a comment - fixed in rev 636909 bump size to 1024
          Olivier Lamy (*$^¨%`£) made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Hide
          Matt Kern added a comment - - edited

          You might consider setting it to either 8192+19, 131072+19 or unbounded, assuming the database supports this. The error in question is caused by a string "PATH, (from PATH:REV)". Linux PATH_MAX is 4096 and Windows Unicode paths can be up to 32k characters. I can see legitimate, non-pathological cases tripping up over any other arbitrary limit.

          Show
          Matt Kern added a comment - - edited You might consider setting it to either 8192+19, 131072+19 or unbounded, assuming the database supports this. The error in question is caused by a string "PATH, (from PATH:REV)". Linux PATH_MAX is 4096 and Windows Unicode paths can be up to 32k characters. I can see legitimate, non-pathological cases tripping up over any other arbitrary limit.
          Olivier Lamy (*$^¨%`£) made changes -
          Link This issue is duplicated by CONTINUUM-1322 [ CONTINUUM-1322 ]
          Olivier Lamy (*$^¨%`£) made changes -
          Link This issue is duplicated by CONTINUUM-1713 [ CONTINUUM-1713 ]
          Hide
          Olivier Lamy (*$^¨%`£) added a comment -

          It looks database vendor doesn't 8192 string length.
          I propose :

          • reduce to 8000
          • control the size before inserting in database and reduce the string if it's long to prevent sql error.
          Show
          Olivier Lamy (*$^¨%`£) added a comment - It looks database vendor doesn't 8192 string length. I propose : reduce to 8000 control the size before inserting in database and reduce the string if it's long to prevent sql error.
          Olivier Lamy (*$^¨%`£) made changes -
          Resolution Fixed [ 1 ]
          Status Closed [ 6 ] Reopened [ 4 ]
          Hide
          Olivier Lamy (*$^¨%`£) added a comment -

          comments added on the upgrade page.

          Show
          Olivier Lamy (*$^¨%`£) added a comment - comments added on the upgrade page.
          Olivier Lamy (*$^¨%`£) made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 08:36:01 UTC 2015 [ 1428222961749 ]
          Mark Thomas made changes -
          Workflow jira [ 12710345 ] Default workflow, editable Closed status [ 12740020 ]
          Mark Thomas made changes -
          Patch Submitted Yes [ 10763 ]
          Flags Patch [ 10430 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 21:12:18 UTC 2015 [ 1428268338676 ]
          Mark Thomas made changes -
          Workflow jira [ 12947528 ] Default workflow, editable Closed status [ 12985556 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Closed Closed
          3d 5h 4m 1 Olivier Lamy (*$^¨%`£) 13/Mar/08 17:50
          Closed Closed Reopened Reopened
          180d 8h 16m 1 Olivier Lamy (*$^¨%`£) 10/Sep/08 03:06
          Reopened Reopened Closed Closed
          9h 32m 1 Olivier Lamy (*$^¨%`£) 10/Sep/08 12:38

            People

            • Assignee:
              Olivier Lamy (*$^¨%`£)
              Reporter:
              Olivier Lamy (*$^¨%`£)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development