tomcatnginxxwikihibernate.cfg.xml

xwiki error: Duplicate query mapping getSpaceDocsName


I finally got nginx setup to proxy to tomcat for me while behind a AWS ALB…but now I see multiple errors when I hit my url for xwiki. Errors at the bottom...

This is a clean instance and the database is empty so i feel like this is linked to how the redirect for /xwiki is happening but im not sure of what else should or shouldnt be there. Anyone see anything here that might help me out? xwiki-11.2 nginx-1.14

Here is a copy of whats in my nginx.conf:

upstream xwiki {
server localhost:8080;
}
server {
listen       80;
server_name  xwiki.domain.net;

# Normally root should not be accessed, however, root should not serve files that might compromise the security of your server.
root /var/www/html;

location / {
    # All "root" requests will have /xwiki appended AND redirected to mydomain.com
    rewrite ^ $scheme://$server_name/xwiki$request_uri? permanent;
}

location ^~ /xwiki {
   # If path starts with /xwiki - then redirect to backend: XWiki application in Tomcat
   # Read more about proxy_pass: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
   proxy_pass http://xwiki;
   proxy_set_header        X-Real-IP $remote_addr;
   proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header        Host $http_host;
   proxy_set_header        X-Forwarded-Proto $scheme;
}
}

Here is my hibernate.cfg.xml…

<hibernate-configuration>
<session-factory>

<property name="show_sql">false</property>

<property name="use_outer_join">true</property>

<property name="jdbc.use_scrollable_resultset">false</property>

<property name="dbcp.defaultAutoCommit">false</property>
<property name="dbcp.maxTotal">50</property>
<property name="dbcp.maxIdle">5</property>
<property name="dbcp.maxWaitMillis">30000</property>
<property name="connection.provider_class">com.xpn.xwiki.store.DBCPConnectionProvider</property>

<property name="connection.url">jdbc:mysql://xwiki.endpoint.rds.amazonaws.com/xwiki</property>
<property name="connection.username">MYUSERNAME</property>
<property name="connection.password">MYPASSWORD</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="dbcp.poolPreparedStatements">true</property>
<property name="dbcp.maxOpenPreparedStatements">20</property>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="eventstream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
<mapping resource="notification-filter-preferences.hbm.xml"/>
<mapping resource="mailsender.hbm.xml"/>
</session-factory>
</hibernate-configuration>

Errors: (had to strip the filler stuff bc char limit)

    HTTP Status 500 – Internal Server Error
Type Exception Report

Message com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://xwiki.mydomain.net/xwiki/bin/view/Main/]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://xwiki.mydomain.net/xwiki/bin/view/Main/]

com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://xwiki.mydomain.net/xwiki/bin/view/Main/]

java.lang.RuntimeException: Failed to locate wiki descriptor for alias [xwiki.mydomain.net]

org.xwiki.wiki.manager.WikiManagerException: Failed to locate XWiki.XWikiServerClass document for wiki alias [xwiki.mydomain.net]

org.xwiki.query.QueryException: Exception while translating [where doc.object(XWiki.XWikiServerClass).server = :wikiAlias and doc.name like 'XWikiServer%'] XWQL query to the [hql] language. Query statement = [where doc.object(XWiki.XWikiServerClass).server = :wikiAlias and doc.name like 'XWikiServer%']

com.xpn.xwiki.XWikiException: Error number 3202 in 3: Exception while reading document [xwiki:XWiki.XWikiServerClass]

org.hibernate.InvalidMappingException: Could not parse mapping document from input stream

org.hibernate.DuplicateMappingException: Duplicate query mapping getSpaceDocsName

Note The full stack trace of the  is available in the server logs.

Apache Tomcat/8.5.30 (Ubuntu)

Solution

  • <mapping resource="eventstream.hbm.xml"/>
    

    That's what is causing the DuplicateMappingException and it's not part of the standard 11.2 hibernate.cfg.xml so looks like you kept an old one.