You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2015/05/11 15:59:00 UTC

[jira] [Updated] (OAK-2860) RDBBlobStore: seen inserts failures due to duplicate keys

     [ https://issues.apache.org/jira/browse/OAK-2860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Reschke updated OAK-2860:
--------------------------------
    Description: 
In production, we've seen exceptions like this:

{noformat}
 org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore insert document failed for id bd89b0745aa22429234f17dfc3e2a35b744dc6e86f5e8094a4153b2366c4d822 w
ith length 14691 (check max size of datastore_data.data)
com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;DB2INST1.DATASTORE_DATA, DRIVER=4.16.53
        at com.ibm.db2.jcc.am.fd.a(fd.java:735)
        at com.ibm.db2.jcc.am.fd.a(fd.java:60)
        at com.ibm.db2.jcc.am.fd.a(fd.java:127)
        at com.ibm.db2.jcc.am.to.b(to.java:2422)
        at com.ibm.db2.jcc.am.to.c(to.java:2405)
        at com.ibm.db2.jcc.t4.ab.l(ab.java:408)
        at com.ibm.db2.jcc.t4.ab.a(ab.java:62)
        at com.ibm.db2.jcc.t4.o.a(o.java:50)
        at com.ibm.db2.jcc.t4.ub.b(ub.java:220)
        at com.ibm.db2.jcc.am.uo.sc(uo.java:3526)
        at com.ibm.db2.jcc.am.uo.b(uo.java:4489)
        at com.ibm.db2.jcc.am.uo.mc(uo.java:2833)
        at com.ibm.db2.jcc.am.uo.execute(uo.java:2808)
        at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:235)
        at com.sun.proxy.$Proxy259.execute(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor$StatementProxy.invoke(StatementDecoratorInterceptor.java:252)
        at com.sun.proxy.$Proxy259.execute(Unknown Source)
        at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlockInDatabase(RDBBlobStore.java:374)
        at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlock(RDBBlobStore.java:340)
{noformat}

This seems to indicate that they key is present in _data but not in _meta. We need to find out whether that's caused by an earlier problem, or whether storeInBlock is supposed to handle this.

(Note that the actual exception message about "check max size of datastore_data.data" is misleading; it's due to an earlier attempt to diagnose DB config problems)

  was:
In production, we've seen exceptions like this:

{noformat}
 org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore insert document failed for id bd89b0745aa22429234f17dfc3e2a35b744dc6e86f5e8094a4153b2366c4d822 w
ith length 14691 (check max size of datastore_data.data)
com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;DB2INST1.DATASTORE_DATA, DRIVER=4.16.53
        at com.ibm.db2.jcc.am.fd.a(fd.java:735)
        at com.ibm.db2.jcc.am.fd.a(fd.java:60)
        at com.ibm.db2.jcc.am.fd.a(fd.java:127)
        at com.ibm.db2.jcc.am.to.b(to.java:2422)
        at com.ibm.db2.jcc.am.to.c(to.java:2405)
        at com.ibm.db2.jcc.t4.ab.l(ab.java:408)
        at com.ibm.db2.jcc.t4.ab.a(ab.java:62)
        at com.ibm.db2.jcc.t4.o.a(o.java:50)
        at com.ibm.db2.jcc.t4.ub.b(ub.java:220)
        at com.ibm.db2.jcc.am.uo.sc(uo.java:3526)
        at com.ibm.db2.jcc.am.uo.b(uo.java:4489)
        at com.ibm.db2.jcc.am.uo.mc(uo.java:2833)
        at com.ibm.db2.jcc.am.uo.execute(uo.java:2808)
        at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:235)
        at com.sun.proxy.$Proxy259.execute(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor$StatementProxy.invoke(StatementDecoratorInterceptor.java:252)
        at com.sun.proxy.$Proxy259.execute(Unknown Source)
        at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlockInDatabase(RDBBlobStore.java:374)
        at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlock(RDBBlobStore.java:340)
{noformat}

This seems to indicate that they key is present in _data but not in _meta. We need to find out whether that's caused by an earlier problem, or whether storeInBlock is supposed to handle this.


> RDBBlobStore: seen inserts failures due to duplicate keys
> ---------------------------------------------------------
>
>                 Key: OAK-2860
>                 URL: https://issues.apache.org/jira/browse/OAK-2860
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: blob, rdbmk
>    Affects Versions: 1.0.13, 1.2.2
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>
> In production, we've seen exceptions like this:
> {noformat}
>  org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore insert document failed for id bd89b0745aa22429234f17dfc3e2a35b744dc6e86f5e8094a4153b2366c4d822 w
> ith length 14691 (check max size of datastore_data.data)
> com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;DB2INST1.DATASTORE_DATA, DRIVER=4.16.53
>         at com.ibm.db2.jcc.am.fd.a(fd.java:735)
>         at com.ibm.db2.jcc.am.fd.a(fd.java:60)
>         at com.ibm.db2.jcc.am.fd.a(fd.java:127)
>         at com.ibm.db2.jcc.am.to.b(to.java:2422)
>         at com.ibm.db2.jcc.am.to.c(to.java:2405)
>         at com.ibm.db2.jcc.t4.ab.l(ab.java:408)
>         at com.ibm.db2.jcc.t4.ab.a(ab.java:62)
>         at com.ibm.db2.jcc.t4.o.a(o.java:50)
>         at com.ibm.db2.jcc.t4.ub.b(ub.java:220)
>         at com.ibm.db2.jcc.am.uo.sc(uo.java:3526)
>         at com.ibm.db2.jcc.am.uo.b(uo.java:4489)
>         at com.ibm.db2.jcc.am.uo.mc(uo.java:2833)
>         at com.ibm.db2.jcc.am.uo.execute(uo.java:2808)
>         at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:600)
>         at org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:235)
>         at com.sun.proxy.$Proxy259.execute(Unknown Source)
>         at sun.reflect.GeneratedMethodAccessor941.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:600)
>         at org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor$StatementProxy.invoke(StatementDecoratorInterceptor.java:252)
>         at com.sun.proxy.$Proxy259.execute(Unknown Source)
>         at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlockInDatabase(RDBBlobStore.java:374)
>         at org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore.storeBlock(RDBBlobStore.java:340)
> {noformat}
> This seems to indicate that they key is present in _data but not in _meta. We need to find out whether that's caused by an earlier problem, or whether storeInBlock is supposed to handle this.
> (Note that the actual exception message about "check max size of datastore_data.data" is misleading; it's due to an earlier attempt to diagnose DB config problems)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)