[ http://www.jahia.org/jira/browse/DOC-156?page=all ]
Thomas Draier resolved DOC-156.
-------------------------------
Resolution: Fixed
mysql bug ( http://bugs.mysql.com/bug.php?id=9777 )
> Slide namespace initialisation failure
> --------------------------------------
>
> Key: DOC-156
> URL: http://www.jahia.org/jira/browse/DOC-156
> Project: Jahia Document Management Server
> Issue Type: Bug
> Affects Versions: Jahia 5.0
> Environment: i686, Debian sarge, JDK 1.5.0 (_03 and _09), MySQL
> 4.1.11-Debian_4sarge7-log (everything on one server), Connector/J (3.1.7 and
> 5.0.4)
> Reporter: D Bonvillain
> Assigned To: Thomas Draier
> Fix For: Jahia 5.0 SP2
>
>
> After a fresh install of Jahia 15521, all the accesses to Slide fail.
> Here is the stacktrace when Tomcat starts (Spring and reflection removed for
> clarity, I can provide the full stack trace if needed):
> 70858 [2006-11-01 10:35:48,399] [file-content-store] INFO - File Store
> configured to /opt/jahia5.0.0/tomcat/webapps/jahia/WEB-INF/var
> /content/slide/<sitekey>/store, working directory
> /opt/jahia5.0.0/tomcat/webapps/jahia/WEB-INF/var/content/slide/<sitekey>/work
> 70869 [2006-11-01 10:35:48,410] [org.apache.slide.common.Namespace] INFO -
> Loading namespace <sitekey> base data
> 71013 [2006-11-01 10:35:48,554] [org.apache.slide.common.Namespace] INFO -
> Init namespace <sitekey> configuration
> 71016 [2006-11-01 10:35:48,557] [org.apache.slide.common.Namespace] INFO -
> Import data into namespace <sitekey>
> 71026 [2006-11-01 10:35:48,567] [org.apache.slide.common.XMLUnmarshaller]
> INFO - Loading object /
> 71036 [2006-11-01 10:35:48,577] [org.apache.slide.common.XMLUnmarshaller]
> INFO - Object already exists at /
> 71517 [2006-11-01 10:35:49,058] [org.apache.slide.common.XMLUnmarshaller]
> INFO - Loading object /shared
> 71582 [2006-11-01 10:35:49,123] [org.apache.slide.common.Namespace] WARN -
> Namespace base configuration might have been already done
> before
> 71588 [2006-11-01 10:35:49,129] [org.apache.slide.common.Namespace] WARN -
> org.apache.slide.common.ServiceAccessException: Service or
> [EMAIL PROTECTED] access error : SessionSynchronization; Duplicate entry '1'
> for key 1; neste
> d exception is java.sql.BatchUpdateException: Duplicate entry '1' for key 1
> org.apache.slide.common.ServiceAccessException: Service [EMAIL PROTECTED]
> access error : Se
> ssionSynchronization; Duplicate entry '1' for key 1; nested exception is
> java.sql.BatchUpdateException: Duplicate entry '1' for key 1
> at
> org.apache.slide.store.AbstractStore.storeObject(AbstractStore.java:742)
> at
> org.apache.slide.store.ExtendedStore.storeObject(ExtendedStore.java:631)
> at
> org.apache.slide.store.BindingStore.storeObject(BindingStore.java:93)
> at
> org.jahia.services.webdav.stores.JahiaBindingStore.storeObject(JahiaBindingStore.java:60)
> at
> org.apache.slide.store.BindingStore.storeObject(BindingStore.java:99)
> at
> org.jahia.services.webdav.stores.JahiaBindingStore.storeObject(JahiaBindingStore.java:60)
> at
> org.apache.slide.structure.StructureImpl.store(StructureImpl.java:520)
> at
> org.apache.slide.structure.StructureImpl.create(StructureImpl.java:402)
> at
> org.apache.slide.common.XMLUnmarshaller.loadObjectNode(XMLUnmarshaller.java:154)
> at
> org.apache.slide.common.XMLUnmarshaller.loadObjectNode(XMLUnmarshaller.java:274)
> at
> org.apache.slide.common.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:90)
> at
> org.apache.slide.common.NamespaceAccessTokenImpl.importData(NamespaceAccessTokenImpl.java:239)
> at org.apache.slide.common.Namespace.loadBaseData(Namespace.java:823)
> at
> org.apache.slide.common.JahiaDomain.addNamespace(JahiaDomain.java:97)
> at
> org.jahia.services.webdav.SlideSiteListener.siteAdded(SlideSiteListener.java:34)
> at
> org.jahia.registries.JahiaListenersRegistry.wakeupListeners(JahiaListenersRegistry.java:230)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService.fireSiteAdded(JahiaEventGeneratorBaseService.java:130)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$FastClassByCGLIB$$15089916.invoke(<generated>)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$EnhancerByCGLIB$$d73cdc33.fireSiteAdded(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService.addSite(JahiaSitesBaseService.java:335)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$FastClassByCGLIB$$4d40271e.invoke(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$EnhancerByCGLIB$$e79403cb.addSite(<generated>)
> at
> org.jahia.admin.sites.ManageSites.terminateAdd(ManageSites.java:868)
> at org.jahia.admin.sites.ManageSites.createSite(ManageSites.java:2007)
> at org.jahia.bin.Jahia.service(Jahia.java:800)
> 71600 [2006-11-01 10:35:49,141] [org.apache.slide.common.Namespace] INFO -
> Loading namespace <sitekey> configuration
> org.apache.slide.common.ServiceAccessException: Service [EMAIL PROTECTED]
> access error : ja
> va.lang.NullPointerException
> at
> org.jahia.hibernate.manager.JahiaSlideUriManager.retrieveObject(JahiaSlideUriManager.java:400)
> at
> org.jahia.hibernate.manager.JahiaSlideUriManager$$FastClassByCGLIB$$7beafc55.invoke(<generated>)
> at
> org.jahia.hibernate.manager.JahiaSlideUriManager$$EnhancerByCGLIB$$54afe74a.retrieveObject(<generated>)
> at
> org.jahia.services.webdav.stores.JahiaJDBCAdapter.retrieveObject(JahiaJDBCAdapter.java:106)
> at
> org.apache.slide.store.impl.rdbms.AbstractRDBMSStore.retrieveObject(AbstractRDBMSStore.java:401)
> at
> org.jahia.services.webdav.stores.JahiaDescriptorsStore.processRoot(JahiaDescriptorsStore.java:977)
> at
> org.jahia.services.webdav.stores.JahiaDescriptorsStore.retrieveObject(JahiaDescriptorsStore.java:559)
> at
> org.apache.slide.store.AbstractStore.retrieveObject(AbstractStore.java:699)
> at
> org.apache.slide.store.ExtendedStore.retrieveObject(ExtendedStore.java:605)
> at
> org.apache.slide.store.BindingStore.retrieveObject(BindingStore.java:81)
> at
> org.apache.slide.store.BindingStore.doResolve(BindingStore.java:680)
> at
> org.apache.slide.store.BindingStore.doRetrieveObjectNode(BindingStore.java:646)
> at
> org.apache.slide.store.BindingStore.retrieveObject(BindingStore.java:84)
> at
> org.apache.slide.common.NamespaceConfig.getActionNode(NamespaceConfig.java:1053)
> at
> org.apache.slide.common.NamespaceConfig.getConfiguredNode(NamespaceConfig.java:801)
> at
> org.apache.slide.common.NamespaceConfig.initializeNamespaceConfig(NamespaceConfig.java:671)
> at
> org.apache.slide.common.Namespace.loadConfiguration(Namespace.java:877)
> at
> org.apache.slide.common.JahiaDomain.addNamespace(JahiaDomain.java:100)
> at
> org.jahia.services.webdav.SlideSiteListener.siteAdded(SlideSiteListener.java:34)
> at
> org.jahia.registries.JahiaListenersRegistry.wakeupListeners(JahiaListenersRegistry.java:230)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService.fireSiteAdded(JahiaEventGeneratorBaseService.java:130)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$FastClassByCGLIB$$15089916.invoke(<generated>)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$EnhancerByCGLIB$$d73cdc33.fireSiteAdded(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService.addSite(JahiaSitesBaseService.java:335)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$FastClassByCGLIB$$4d40271e.invoke(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$EnhancerByCGLIB$$e79403cb.addSite(<generated>)
> at
> org.jahia.admin.sites.ManageSites.terminateAdd(ManageSites.java:868)
> at org.jahia.admin.sites.ManageSites.createSite(ManageSites.java:2007)
> at org.jahia.bin.Jahia.service(Jahia.java:800)
> at
> org.jahia.services.webdav.stores.JahiaJDBCAdapter.retrieveObject(JahiaJDBCAdapter.java:110)
> at
> org.apache.slide.store.impl.rdbms.AbstractRDBMSStore.retrieveObject(AbstractRDBMSStore.java:401)
> at
> org.jahia.services.webdav.stores.JahiaDescriptorsStore.processRoot(JahiaDescriptorsStore.java:977)
> at
> org.jahia.services.webdav.stores.JahiaDescriptorsStore.retrieveObject(JahiaDescriptorsStore.java:559)
> at
> org.apache.slide.store.AbstractStore.retrieveObject(AbstractStore.java:699)
> at
> org.apache.slide.store.ExtendedStore.retrieveObject(ExtendedStore.java:605)
> at
> org.apache.slide.store.BindingStore.retrieveObject(BindingStore.java:81)
> at
> org.apache.slide.store.BindingStore.doResolve(BindingStore.java:680)
> at
> org.apache.slide.store.BindingStore.doRetrieveObjectNode(BindingStore.java:646)
> at
> org.apache.slide.store.BindingStore.retrieveObject(BindingStore.java:84)
> at
> org.apache.slide.common.NamespaceConfig.getActionNode(NamespaceConfig.java:1053)
> at
> org.apache.slide.common.NamespaceConfig.getConfiguredNode(NamespaceConfig.java:801)
> at
> org.apache.slide.common.NamespaceConfig.initializeNamespaceConfig(NamespaceConfig.java:671)
> at
> org.apache.slide.common.Namespace.loadConfiguration(Namespace.java:877)
> at
> org.apache.slide.common.JahiaDomain.addNamespace(JahiaDomain.java:100)
> at
> org.jahia.services.webdav.SlideSiteListener.siteAdded(SlideSiteListener.java:34)
> at
> org.jahia.registries.JahiaListenersRegistry.wakeupListeners(JahiaListenersRegistry.java:230)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService.fireSiteAdded(JahiaEventGeneratorBaseService.java:130)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$FastClassByCGLIB$$15089916.invoke(<generated>)
> at
> org.jahia.services.events.JahiaEventGeneratorBaseService$$EnhancerByCGLIB$$d73cdc33.fireSiteAdded(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService.addSite(JahiaSitesBaseService.java:335)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$FastClassByCGLIB$$4d40271e.invoke(<generated>)
> at
> org.jahia.services.sites.JahiaSitesBaseService$$EnhancerByCGLIB$$e79403cb.addSite(<generated>)
> at
> org.jahia.admin.sites.ManageSites.terminateAdd(ManageSites.java:868)
> at org.jahia.admin.sites.ManageSites.createSite(ManageSites.java:2007)
> at org.jahia.bin.Jahia.service(Jahia.java:800)
> Here are the relevant parts of the database:
> mysql> select * from jahia_sl2_uri;
> +--------+----------------------------------+-----------+
> | uri_id | uri_string | namespace |
> +--------+----------------------------------+-----------+
> | 1 | / | 1 |
> | 2 | /2006-11-01/10-35/jahiaServer1/1 | 1 |
> +--------+----------------------------------+-----------+
> 2 rows in set (0.00 sec)
> mysql> select * from jahia_sl2_object;
> +--------+----------------------------------------+
> | uri_id | class_name |
> +--------+----------------------------------------+
> | 1 | org.apache.slide.structure.SubjectNode |
> | 2 | org.apache.slide.structure.SubjectNode |
> +--------+----------------------------------------+
> 2 rows in set (0.00 sec)
> While tracing the code, it appears that in JahiaSlideUriManager, when the
> JahiaSlideUri is retrieved from the database on line 381, the
> jahiaSlideObject attribute has the value 'null', even if the corresponding
> row exists in the database. Looking at the queries generated by Hibernate:
> Hibernate: select jahiaslide0_.uri_id as uri1_, jahiaslide0_.uri_string as
> uri2_52_, jahiaslide0_.namespace as namespace52_ from jahia_sl2_uri
> jahiaslide0_ where jahiaslide0_.uri_string=? and jahiaslide0_.namespace=?
> Hibernate: select jahiaslide0_.uri_id as uri1_1_, jahiaslide0_.class_name as
> class2_59_1_, jahiaslide1_.uri_id as uri1_0_, jahiaslide1_.uri_string as
> uri2_52_0_, jahiaslide1_.namespace as namespace52_0_ from jahia_sl2_object
> jahiaslide0_ inner join jahia_sl2_uri jahiaslide1_ on
> jahiaslide0_.uri_id=jahiaslide1_.uri_id where jahiaslide0_.uri_id=?
> The JahiaSlideObject is queried, but no result is returned from the database
> (org.hibernate.loader.Loader line 408). Running that query in the mysql
> native client on the server provides the expected result. Running a test case
> with prepared statement lead to the following result: with prepared
> statement, the query does not return any result, with hard-coded parameter,
> the query returns the expected result.
> Adding "useServerPrepStmts=false" in the MySQL JDBC URL fixes the problem in
> the test case and on Jahia, so it seems to be a bug in the prepared statement
> implementation in this version of MySQL.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://www.jahia.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
jira_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/jira_list