Thanks Deng for the hint. It makes sense to me. I adapted the package.jdo and reverted the url-fields which are primary keys to the original configuration. However I still get the same error. http://jira.codehaus.org/browse/MRM-1198
Deng Ching-2 wrote: > > Hi Marc, > > I think I know what's causing the error.. It's the "url" fields marked as > primary key. They're auto-generated keys, so changing it to > jdbc-type="VARCHAR2" must have caused a problem. Try reverting them to the > original type and length and see if the problem persists. > > I made some fixes in Archiva 1.2.1 that is somewhat related to this, see > http://jira.codehaus.org/browse/MRM-1157 and > http://jira.codehaus.org/browse/MRM-1176 > > Thanks, > Deng > > On Thu, Jun 25, 2009 at 5:14 PM, Marc Lustig <[email protected]> wrote: > >> >> Hi all, >> I understand that none of you wants to claim being a JDO/JPOX-"expert". >> But nevertheless could please somebody who has worked on Archiva's JDO >> schema and/or the integration of JPOX respond to this issue. >> The full log-entry look like this: >> >> 2009-06-23 10:57:33,202 >> [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR >> JPOX.MetaData >> - The following error occurred while parsing <column> nested within >> <field name="url" >> null-value="none"> >> </field> >> >> However no further error specification is followed. (debug is turned on) >> >> Furthermore, in none of the fields named URL is an attribute "null-value" >> specified. >> It's a bit weird.... >> >> thanks >> Marc >> >> >> >> >> >> >> >> Marc Lustig wrote: >> > >> > Hi, >> > not surprisingly, I get tons of debug-lines in the log. >> > I think the only interesting are >> > >> > 2009-06-23 10:57:33,202 >> > [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR >> > JPOX.MetaData - The following error occurred while parsing <column> >> > nested within <field name="url" >> > 2009-06-23 10:57:33,202 >> > [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR >> > JPOX.MetaData - The following error occurred while parsing <column> >> > nested within <field name="url" >> > 2009-06-23 10:57:33,202 >> > [ContainerBackgroundProcessor[StandardEngine[Catalina]]] DEBUG >> > JPOX.Transaction - Transaction rolling back with connection >> > jdbc:oracle:thin:@AGWCIE, UserName=CONTINUUM_12, Oracle JDBC driver >> > >> > Apparently there is some problem with two of the columns that have >> fields >> > named "URL". >> > I checked all of them (see below the schema), but still cannot find any >> > wrong configuration, at least it conforms to the DTD. But I am not so >> much >> > of a JPOX-expert. Perhaps one of the experts here can have a look? (The >> > database is empty when I start this webapp, so it can create the schema >> > from scratch). >> > >> > Marc >> > >> > >> > >> > >> > >> > >> > Deng Ching-2 wrote: >> >> >> >> Hi Marc, >> >> >> >> Could you change the log level of JPOX in ../WEB-INF/classes/log4j.xml >> >> from >> >> ERROR to DEBUG to get more info? I haven't encountered that error so >> >> far.. >> >> >> >> Thanks, >> >> Deng >> >> >> >> On Mon, Jun 22, 2009 at 3:30 PM, Marc Lustig <[email protected]> >> wrote: >> >> >> >>> >> >>> [reposted from the user-list] >> >>> >> >>> Hi, >> >>> in order to be compatible with Oracle (10g) I adjusted Achiva 1.2.1's >> >>> package.jdo (see below). >> >>> Unfortunately we get now the following error on startup: >> >>> >> >>> 2009-06-09 12:00:11,484 >> >>> [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR >> >>> JPOX.General >> >>> - Parameter MetaData.Parser.CannotOpenFile.Error doesn't exist for >> >>> bundle >> >>> java.util.propertyresourcebun...@e614695 >> >>> >> >>> Does that sound familiar to anybody here? I wonder what file JPOX >> tries >> >>> to >> >>> open and what resource-bundle is concerned. >> >>> >> >>> Basically we simply added some jdbc-type attributes and increased the >> >>> length >> >>> of the some URL-fields, as they were definiately too short: >> >>> >> >>> <jdo> >> >>> <package name="org.apache.maven.archiva.model"> >> >>> <class name="ArchivaArtifactModel" detachable="true" >> >>> table="ARCHIVA_ARTIFACT" identity-type="application" >> >>> >> >>> >> objectid-class="org.apache.maven.archiva.model.jpox.ArchivaArtifactModelKey"> >> >>> <field name="groupId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="classifier" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="type" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column name="FILE_TYPE" length="50"/> >> >>> </field> >> >>> <field name="repositoryId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="snapshot" null-value="exception"> >> >>> <column name="SNAPSHOT_VERSION"/> >> >>> </field> >> >>> <field name="checksumMD5"> >> >>> <column length="35"/> >> >>> </field> >> >>> <field name="checksumSHA1"> >> >>> <column length="45"/> >> >>> </field> >> >>> <field name="lastModified" null-value="exception"/> >> >>> <field name="size" null-value="exception"> >> >>> <column name="FILE_SIZE"/> >> >>> </field> >> >>> <field name="platform" null-value="exception"> >> >>> <column length="16"/> >> >>> </field> >> >>> <field name="whenIndexed"/> >> >>> <field name="whenProcessed"/> >> >>> <field name="origin"/> >> >>> <field name="whenGathered"/> >> >>> </class> >> >>> <class name="ArchivaRepositoryMetadata" detachable="true" >> >>> table="ARCHIVA_REPOSITORY_METADATA" identity-type="application" >> >>> >> >>> >> objectid-class="org.apache.maven.archiva.model.jpox.ArchivaRepositoryMetadataKey"> >> >>> <field name="groupId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="latestVersion"/> >> >>> <field name="releasedVersion"/> >> >>> <field name="snapshotVersion" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <field name="plugins" default-fetch-group="true"> >> >>> <collection element-type="Plugin" dependent-element="true"/> >> >>> </field> >> >>> <field name="availableVersions"> >> >>> <collection element-type="java.lang.String" >> >>> dependent-element="true"/> >> >>> <join/> >> >>> </field> >> >>> <field name="lastUpdated" null-value="exception"/> >> >>> <field name="fileLastModified" null-value="exception"/> >> >>> <field name="fileSize" null-value="exception"> >> >>> <column name="FILE_SIZE"/> >> >>> </field> >> >>> <field name="whenIndexed"/> >> >>> <field name="origin"/> >> >>> <fetch-group name="ArchivaRepositoryMetadata_detail"> >> >>> <field name="availableVersions"/> >> >>> </fetch-group> >> >>> </class> >> >>> <class name="SnapshotVersion" detachable="true" >> >>> table="ARCHIVA_REPOSITORY_METADATA_SNAPSHOTS"> >> >>> <field name="timestamp" null-value="exception"> >> >>> <column name="VERSION_TIMESTAMP" length="20"/> >> >>> </field> >> >>> <field name="buildNumber" null-value="exception"/> >> >>> </class> >> >>> <class name="Plugin" detachable="true" >> >>> table="ARCHIVA_REPOSITORY_METADATA_PLUGINS" >> identity-type="application" >> >>> objectid-class="javax.jdo.identity.StringIdentity"> >> >>> <field name="prefix" null-value="exception"> >> >>> <column name="PLUGIN_PREFIX" length="20"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception" >> primary-key="true" >> >>> value-strategy="native"> >> >>> <column name="PLUGIN_ARTIFACT_ID"/> >> >>> </field> >> >>> <field name="name" null-value="exception"> >> >>> <column name="PLUGIN_NAME"/> >> >>> </field> >> >>> </class> >> >>> <class name="ProjectReference" detachable="true" >> >>> table="ARCHIVA_PROJECT_REFERENCE"> >> >>> <field name="groupId" null-value="exception"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception"> >> >>> <column length="80"/> >> >>> </field> >> >>> </class> >> >>> <class name="VersionedReference" detachable="true" >> >>> table="ARCHIVA_VERSIONED_REFERENCE"> >> >>> <field name="groupId" null-value="exception"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version"> >> >>> <column length="50"/> >> >>> </field> >> >>> </class> >> >>> <class name="ArtifactReference" detachable="true" >> >>> table="ARCHIVA_ARTIFACT_REFERENCE"> >> >>> <field name="groupId" null-value="exception"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="classifier" null-value="exception"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="type" null-value="exception"> >> >>> <column name="FILE_TYPE" length="50"/> >> >>> </field> >> >>> </class> >> >>> <class name="ArchivaProjectModel" detachable="true" >> >>> table="ARCHIVA_PROJECT" identity-type="application" >> >>> >> >>> >> objectid-class="org.apache.maven.archiva.model.jpox.ArchivaProjectModelKey"> >> >>> <field name="groupId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version" persistence-modifier="persistent" >> >>> null-value="exception" primary-key="true"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="parentProject" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <field name="packaging" null-value="exception"/> >> >>> <field name="name"/> >> >>> <field name="description" jdbc-type="CLOB"> >> >>> <column length="8192"/> >> >>> </field> >> >>> <field name="origin" null-value="exception"/> >> >>> <field name="whenIndexed"/> >> >>> <field name="url"> >> >>> <column length="2500" jdbc-type="VARCHAR2" /> >> >>> </field> >> >>> <field name="organization" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <field name="licenses" default-fetch-group="true"> >> >>> <collection element-type="License" dependent-element="true"/> >> >>> </field> >> >>> <field name="mailingLists" default-fetch-group="true"> >> >>> <collection element-type="MailingList" >> dependent-element="true"/> >> >>> </field> >> >>> <field name="issueManagement" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <field name="ciManagement" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <field name="scm" default-fetch-group="true" dependent="true"/> >> >>> <field name="individuals" default-fetch-group="true"> >> >>> <collection element-type="Individual" >> dependent-element="true"/> >> >>> </field> >> >>> <field name="dependencies" default-fetch-group="true"> >> >>> <collection element-type="Dependency" >> dependent-element="true"/> >> >>> </field> >> >>> <field name="dependencyManagement" default-fetch-group="true"> >> >>> <collection element-type="Dependency" >> dependent-element="true"/> >> >>> </field> >> >>> <field name="repositories" default-fetch-group="true"> >> >>> <collection element-type="ProjectRepository" >> >>> dependent-element="true"/> >> >>> </field> >> >>> <field name="plugins" default-fetch-group="true"> >> >>> <collection element-type="ArtifactReference" >> >>> dependent-element="true"/> >> >>> </field> >> >>> <field name="reports" default-fetch-group="true"> >> >>> <collection element-type="ArtifactReference" >> >>> dependent-element="true"/> >> >>> </field> >> >>> <field name="buildExtensions" default-fetch-group="true"> >> >>> <collection element-type="ArtifactReference" >> >>> dependent-element="true"/> >> >>> </field> >> >>> <field name="properties" embedded="false"> >> >>> <map key-type="java.lang.String" value-type="java.lang.String" >> >>> embedded-key="true" embedded-value="true" dependent-key="true" >> >>> dependent-value="true"/> >> >>> <join/> >> >>> </field> >> >>> <field name="relocation" default-fetch-group="true" >> >>> dependent="true"/> >> >>> <fetch-group name="ArchivaProjectModel_detail"> >> >>> <field name="properties"/> >> >>> </fetch-group> >> >>> </class> >> >>> <class name="MailingList" detachable="true" >> >>> table="ARCHIVA_MAILING_LISTS"> >> >>> <field name="name"/> >> >>> <field name="subscribeAddress"/> >> >>> <field name="unsubscribeAddress"/> >> >>> <field name="postAddress"/> >> >>> <field name="mainArchiveUrl"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="otherArchives" default-fetch-group="true"> >> >>> <collection element-type="java.lang.String" >> >>> dependent-element="true"/> >> >>> </field> >> >>> </class> >> >>> <class name="Organization" detachable="true" >> >>> table="ARCHIVA_ORGANIZATION" identity-type="application" >> >>> objectid-class="javax.jdo.identity.StringIdentity"> >> >>> <field name="name" primary-key="true" value-strategy="native"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="organizationName"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="url"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="favicon"> >> >>> <column name="FAVICON_URL" length="250"/> >> >>> </field> >> >>> </class> >> >>> <class name="License" detachable="true" table="ARCHIVA_LICENSES" >> >>> identity-type="application" >> >>> objectid-class="javax.jdo.identity.IntIdentity"> >> >>> <field name="id" primary-key="true" value-strategy="native"> >> >>> <column name="LICENSE_ID"/> >> >>> </field> >> >>> <field name="name"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="url"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="comments"> >> >>> <column length="8192" jdbc-type="CLOB"/> >> >>> </field> >> >>> </class> >> >>> <class name="IssueManagement" detachable="true" >> >>> table="ARCHIVA_ISSUE_MANAGEMENT" identity-type="application" >> >>> objectid-class="javax.jdo.identity.StringIdentity"> >> >>> <field name="url" primary-key="true" value-strategy="native"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="issueManagementUrl"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="system"> >> >>> <column name="SYSTEM_NAME"/> >> >>> </field> >> >>> </class> >> >>> <class name="CiManagement" detachable="true" >> >>> table="ARCHIVA_CiManagement" identity-type="application" >> >>> objectid-class="javax.jdo.identity.StringIdentity"> >> >>> <field name="url" primary-key="true" value-strategy="native"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="ciUrl"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="system"> >> >>> <column name="SYSTEM_NAME" length="50"/> >> >>> </field> >> >>> </class> >> >>> <class name="Individual" detachable="true" >> table="ARCHIVA_Individual" >> >>> identity-type="application" >> >>> objectid-class="javax.jdo.identity.StringIdentity"> >> >>> <field name="email" primary-key="true" value-strategy="native"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="individualEmail"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="name"/> >> >>> <field name="principal"/> >> >>> <field name="commitor"/> >> >>> <field name="url"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="organization"/> >> >>> <field name="organizationUrl"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="roles" default-fetch-group="true"> >> >>> <collection element-type="java.lang.String" >> >>> dependent-element="true"/> >> >>> </field> >> >>> <field name="timezone"/> >> >>> <field name="properties" embedded="false"> >> >>> <map key-type="java.lang.String" value-type="java.lang.String" >> >>> embedded-key="true" embedded-value="true" dependent-key="true" >> >>> dependent-value="true"/> >> >>> <join/> >> >>> </field> >> >>> <fetch-group name="Individual_detail"> >> >>> <field name="properties"/> >> >>> </fetch-group> >> >>> </class> >> >>> <class name="Dependency" detachable="true" >> >>> table="ARCHIVA_DEPENDENCY"> >> >>> <field name="groupId" null-value="exception"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="classifier"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="type" null-value="exception"> >> >>> <column name="DEPENDENCY_TYPE" length="50"/> >> >>> </field> >> >>> <field name="transitive"/> >> >>> <field name="fromParent"/> >> >>> <field name="url"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="scope"> >> >>> <column name="DEPENDENCY_SCOPE"/> >> >>> </field> >> >>> <field name="systemPath"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="exclusions" default-fetch-group="true"> >> >>> <collection element-type="Exclusion" >> dependent-element="true"/> >> >>> </field> >> >>> <field name="optional"/> >> >>> </class> >> >>> <class name="Exclusion" detachable="true" >> table="ARCHIVA_EXCLUSIONS"> >> >>> <field name="groupId" null-value="exception"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId" null-value="exception"> >> >>> <column length="80"/> >> >>> </field> >> >>> </class> >> >>> <class name="Scm" detachable="true" table="ARCHIVA_SCM"> >> >>> <field name="connection"> >> >>> <column name="SCM_URL" length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="developerConnection"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="url"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> </class> >> >>> <class name="ProjectRepository" detachable="true" >> >>> table="ARCHIVA_PROJECT_REPOSITORIES"> >> >>> <field name="id"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="name"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="url"> >> >>> <column length="2500" jdbc-type="VARCHAR2"/> >> >>> </field> >> >>> <field name="layout"> >> >>> <column length="16"/> >> >>> </field> >> >>> <field name="plugins"/> >> >>> <field name="releases"/> >> >>> <field name="snapshots"/> >> >>> </class> >> >>> <class name="RepositoryProblem" detachable="true" >> >>> table="ARCHIVA_REPOSITORY_PROBLEMS"> >> >>> <field name="repositoryId" null-value="exception"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="path" null-value="exception"> >> >>> <column name="REPO_PATH" length="250"/> >> >>> </field> >> >>> <field name="groupId"> >> >>> <column length="250"/> >> >>> </field> >> >>> <field name="artifactId"> >> >>> <column length="80"/> >> >>> </field> >> >>> <field name="version"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="type" null-value="exception"> >> >>> <column name="PROBLEM_TYPE" length="50"/> >> >>> </field> >> >>> <field name="origin" null-value="exception"> >> >>> <column name="PROBLEM_ORIGIN" length="20"/> >> >>> </field> >> >>> <field name="message" null-value="exception"> >> >>> <column length="4096" jdbc-type="CLOB"/> >> >>> </field> >> >>> </class> >> >>> <class name="RepositoryContentStatistics" detachable="true" >> >>> table="ARCHIVA_REPOSITORY_STATS"> >> >>> <field name="repositoryId" null-value="exception"> >> >>> <column length="50"/> >> >>> </field> >> >>> <field name="whenGathered" null-value="exception"/> >> >>> <field name="duration" null-value="exception"/> >> >>> <field name="totalFileCount" null-value="exception"/> >> >>> <field name="newFileCount" null-value="exception"/> >> >>> <field name="totalProjectCount" null-value="default"> >> >>> <column default-value="0"/> >> >>> </field> >> >>> <field name="totalGroupCount" null-value="default"> >> >>> <column default-value="0"/> >> >>> </field> >> >>> <field name="totalArtifactCount" null-value="default"> >> >>> <column default-value="0"/> >> >>> </field> >> >>> <field name="totalSize" null-value="default"> >> >>> <column default-value="0"/> >> >>> </field> >> >>> </class> >> >>> <class name="ArchivaBaseModelModelloMetadata" detachable="true"> >> >>> <field name="modelVersion" null-value="default"> >> >>> <column default-value="1.2.1"/> >> >>> </field> >> >>> </class> >> >>> </package> >> >>> </jdo> >> >>> -- >> >>> View this message in context: >> >>> http://www.nabble.com/JDO-error-on-startup-tp24142815p24142815.html >> >>> Sent from the archiva-dev mailing list archive at Nabble.com. >> >>> >> >>> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/JDO-error-on-startup-tp24142815p24199735.html >> Sent from the archiva-dev mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/JDO-error-on-startup-tp24142815p24217214.html Sent from the archiva-dev mailing list archive at Nabble.com.
