amazon dynamodb - Composite index in Titan Dynamo DB won't work -
so i'm trying make composite index on titan backed dynamo db , throws exception.
the main error hash primary key values must under 2048 bytes, , range primary key values must under 1024 bytes.
com.thinkaurelius.titan.core.titanexception: not commit transaction due exception during persistence @ com.thinkaurelius.titan.graphdb.transaction.standardtitantx.commit(standardtitantx.java:1363) @ com.thinkaurelius.titan.graphdb.tinkerpop.titanblueprintsgraph$graphtransaction.docommit(titanblueprintsgraph.java:263) @ org.apache.tinkerpop.gremlin.structure.util.abstracttransaction.commit(abstracttransaction.java:94) @ org.apache.tinkerpop.gremlin.structure.transaction$commit.call(unknown source) @ org.codehaus.groovy.runtime.callsite.callsitearray.defaultcall(callsitearray.java:45) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:110) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:114) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparser$_parseteamsandaddtograph_closure5$_closure10.docall(retrosheetdataparser.groovy:675) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ org.codehaus.groovy.reflection.cachedmethod.invoke(cachedmethod.java:90) @ groovy.lang.metamethod.domethodinvoke(metamethod.java:324) @ org.codehaus.groovy.runtime.metaclass.closuremetaclass.invokemethod(closuremetaclass.java:292) @ groovy.lang.metaclassimpl.invokemethod(metaclassimpl.java:1016) @ groovy.lang.closure.call(closure.java:423) @ groovy.lang.closure.call(closure.java:439) @ org.codehaus.groovy.runtime.defaultgroovymethods.each(defaultgroovymethods.java:2027) @ org.codehaus.groovy.runtime.dgm$161.invoke(unknown source) @ org.codehaus.groovy.runtime.callsite.pojometamethodsite$pojometamethodsitenounwrapnocoerce.invoke(pojometamethodsite.java:271) @ org.codehaus.groovy.runtime.callsite.pojometamethodsite.call(pojometamethodsite.java:53) @ org.codehaus.groovy.runtime.callsite.callsitearray.defaultcall(callsitearray.java:45) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:110) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:122) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparser$_parseteamsandaddtograph_closure5.docall(retrosheetdataparser.groovy:637) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ org.codehaus.groovy.reflection.cachedmethod.invoke(cachedmethod.java:90) @ groovy.lang.metamethod.domethodinvoke(metamethod.java:324) @ org.codehaus.groovy.runtime.metaclass.closuremetaclass.invokemethod(closuremetaclass.java:292) @ groovy.lang.metaclassimpl.invokemethod(metaclassimpl.java:1016) @ groovy.lang.closure.call(closure.java:423) @ groovy.lang.closure.call(closure.java:439) @ org.codehaus.groovy.runtime.defaultgroovymethods.each(defaultgroovymethods.java:2027) @ org.codehaus.groovy.runtime.defaultgroovymethods.each(defaultgroovymethods.java:2012) @ org.codehaus.groovy.runtime.defaultgroovymethods.each(defaultgroovymethods.java:2053) @ org.codehaus.groovy.runtime.dgm$162.invoke(unknown source) @ org.codehaus.groovy.runtime.callsite.pojometamethodsite$pojometamethodsitenounwrapnocoerce.invoke(pojometamethodsite.java:271) @ org.codehaus.groovy.runtime.callsite.pojometamethodsite.call(pojometamethodsite.java:53) @ org.codehaus.groovy.runtime.callsite.callsitearray.defaultcall(callsitearray.java:45) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:110) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:122) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparser.parseteamsandaddtograph(retrosheetdataparser.groovy:635) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparser$parseteamsandaddtograph$7.callcurrent(unknown source) @ org.codehaus.groovy.runtime.callsite.callsitearray.defaultcallcurrent(callsitearray.java:49) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.callcurrent(abstractcallsite.java:151) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.callcurrent(abstractcallsite.java:171) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparser.parse(retrosheetdataparser.groovy:103) @ com.kapsoft.isportsdb.parsers.baseball.retrosheetdataparsertest.testparse(retrosheetdataparsertest.java:19) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:44) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15) @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:41) @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:20) @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:28) @ org.junit.internal.runners.statements.runafters.evaluate(runafters.java:31) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:73) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:46) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:180) @ org.junit.runners.parentrunner.access$000(parentrunner.java:41) @ org.junit.runners.parentrunner$1.evaluate(parentrunner.java:173) @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:28) @ org.junit.internal.runners.statements.runafters.evaluate(runafters.java:31) @ org.junit.runners.parentrunner.run(parentrunner.java:220) @ org.junit.runner.junitcore.run(junitcore.java:137) @ com.intellij.junit4.junit4ideatestrunner.startrunnerwithargs(junit4ideatestrunner.java:117) @ com.intellij.rt.execution.junit.junitstarter.preparestreamsandstart(junitstarter.java:234) @ com.intellij.rt.execution.junit.junitstarter.main(junitstarter.java:74) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ com.intellij.rt.execution.application.appmain.main(appmain.java:144) caused by: com.thinkaurelius.titan.core.titanexception: not execute operation due backend exception @ com.thinkaurelius.titan.diskstorage.util.backendoperation.execute(backendoperation.java:44) @ com.thinkaurelius.titan.diskstorage.keycolumnvalue.cache.cachetransaction.persist(cachetransaction.java:87) @ com.thinkaurelius.titan.diskstorage.keycolumnvalue.cache.cachetransaction.flushinternal(cachetransaction.java:141) @ com.thinkaurelius.titan.diskstorage.keycolumnvalue.cache.cachetransaction.commit(cachetransaction.java:198) @ com.thinkaurelius.titan.diskstorage.backendtransaction.commitstorage(backendtransaction.java:118) @ com.thinkaurelius.titan.graphdb.database.standardtitangraph.commit(standardtitangraph.java:718) @ com.thinkaurelius.titan.graphdb.transaction.standardtitantx.commit(standardtitantx.java:1352) ... 78 more caused by: com.thinkaurelius.titan.diskstorage.permanentbackendexception: updateitem_v100_graphindex hash primary key values must under 2048 bytes, , range primary key values must under 1024 bytes (service: amazondynamodbv2; status code: 400; error code: validationexception; request id: 608064c5-746c-4f7f-95e9-6d9a382d08eb) @ com.amazon.titan.diskstorage.dynamodb.dynamodbdelegate.processdynamodbapiexception(dynamodbdelegate.java:213) @ com.amazon.titan.diskstorage.dynamodb.dynamodbdelegate.updateitem(dynamodbdelegate.java:515) @ com.amazon.titan.diskstorage.dynamodb.exponentialbackoff$updateitem.call(exponentialbackoff.java:91) @ com.amazon.titan.diskstorage.dynamodb.exponentialbackoff$updateitem.call(exponentialbackoff.java:84) @ com.amazon.titan.diskstorage.dynamodb.exponentialbackoff.runwithbackoff(exponentialbackoff.java:158) @ com.amazon.titan.diskstorage.dynamodb.mutation.updateitemworker.call(updateitemworker.java:40) @ com.amazon.titan.diskstorage.dynamodb.mutation.updateitemworker.call(updateitemworker.java:27) @ java.util.concurrent.futuretask.run(futuretask.java:266) @ java.util.concurrent.executors$runnableadapter.call(executors.java:511) @ java.util.concurrent.futuretask.run(futuretask.java:266) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ java.lang.thread.run(thread.java:745) caused by: com.amazonaws.amazonserviceexception: hash primary key values must under 2048 bytes, , range primary key values must under 1024 bytes (service: amazondynamodbv2; status code: 400; error code: validationexception; request id: 608064c5-746c-4f7f-95e9-6d9a382d08eb) @ com.amazonaws.http.amazonhttpclient.handleerrorresponse(amazonhttpclient.java:1275) @ com.amazonaws.http.amazonhttpclient.executeonerequest(amazonhttpclient.java:873) @ com.amazonaws.http.amazonhttpclient.executehelper(amazonhttpclient.java:576) @ com.amazonaws.http.amazonhttpclient.doexecute(amazonhttpclient.java:362) @ com.amazonaws.http.amazonhttpclient.executewithtimer(amazonhttpclient.java:328) @ com.amazonaws.http.amazonhttpclient.execute(amazonhttpclient.java:307) @ com.amazonaws.services.dynamodbv2.amazondynamodbclient.invoke(amazondynamodbclient.java:1818) @ com.amazonaws.services.dynamodbv2.amazondynamodbclient.updateitem(amazondynamodbclient.java:1632) @ com.amazon.titan.diskstorage.dynamodb.dynamodbdelegate.updateitem(dynamodbdelegate.java:513) ... 11 more so guess index doesn't allow value more 2048 bytes?
Comments
Post a Comment