oracle - Coherence Exception in NamedCache.putall after updating coherence to 12.1.3 -
oracle - Coherence Exception in NamedCache.putall after updating coherence to 12.1.3 -
i utilize coherence in project next configuration. ok coherence 12.1.2, after updating coherence version 12.1.3, have problem. when set illustration 1000 item on cache 1 1 using namedcache.put() there no error, when set 1000 items on cache calling namedcache.putall once, coherence raises exception. project in java , deployed on jboss.
cache configuration:
<distributed-scheme> <scheme-name>my-map</scheme-name> <service-name>mymap</service-name> <serializer> <instance> <class-name>com.tangosol.io.pof.configurablepofcontext</class-name> <init-params> <init-param> <param-type>string</param-type> <param-value>pof-config.xml</param-value> </init-param> </init-params> </instance> </serializer> <thread-count>100</thread-count> <local-storage>true</local-storage> <backup-count>0</backup-count> <backing-map-scheme> <read-write-backing-map-scheme> <internal-cache-scheme> <ramjournal-scheme/> </internal-cache-scheme> <cachestore-scheme> <class-scheme> <class-name>mypackage.loader</class-name> </class-scheme> </cachestore-scheme> </read-write-backing-map-scheme> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme>
raised exception details:
exception in thread "pool-7-thread-1" com.tangosol.net.requestincompleteexception: partial failure @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$binarymap.validatepartialresponse(partitionedcache.cdb:56) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$binarymap.putall(partitionedcache.cdb:123) @ com.oracle.common.collections.convertercollections$convertermap.putall(convertercollections.java:1553) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$viewmap.putall(partitionedcache.cdb:5) @ com.tangosol.coherence.component.util.safenamedcache.putall(safenamedcache.cdb:1) @ mypackage.cacheenableddataprovider.putoncache(cacheenableddataprovider.java:66) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:745) caused by: portable(com.tangosol.util.wrapperexception): (wrapped: failed request execution mymap service on member(id=1, timestamp=2014-10-20 18:00:25.737, address=192.168.70.101:8088, machineid=5642, location=site:,machine:ps,process:9876,member:mem_1, role=coherenceserver) (wrapped: failed store keys="9112791815, 9165497418, 9199193873, 9192139970, 9392020128, ") assertion failed:) assertion failed: @ com.tangosol.util.base.ensureruntimeexception(base.java:289) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.tagexception(grid.cdb:50) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache.onpartialcommit(partitionedcache.cdb:7) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache.onputallrequest(partitionedcache.cdb:85) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$putallrequest$putjob.run(partitionedcache.cdb:1) @ com.tangosol.coherence.component.util.daemonpool$wrappertask.run(daemonpool.cdb:1) @ com.tangosol.coherence.component.util.daemonpool$wrappertask.run(daemonpool.cdb:32) @ com.tangosol.coherence.component.util.daemonpool$daemon.onnotify(daemonpool.cdb:65) @ com.tangosol.coherence.component.util.daemon.run(daemon.cdb:51) @ java.lang.thread.run(unknown source) @ <process boundary> @ com.tangosol.io.pof.throwablepofserializer.deserialize(throwablepofserializer.java:57) @ com.tangosol.io.pof.pofbufferreader.readasobject(pofbufferreader.java:3316) @ com.tangosol.io.pof.pofbufferreader.readobject(pofbufferreader.java:2604) @ com.tangosol.io.pof.configurablepofcontext.deserialize(configurablepofcontext.java:376) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.readobject(service.cdb:1) @ com.tangosol.coherence.component.net.message.readobject(message.cdb:1) @ com.tangosol.coherence.component.net.message.responsemessage.distributedpartialresponse.read(distributedpartialresponse.cdb:12) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$partialvalueresponse.read(partitionedcache.cdb:4) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.deserializemessage(grid.cdb:20) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.onnotify(grid.cdb:21) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.onnotify(partitionedservice.cdb:3) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache.onnotify(partitionedcache.cdb:3) @ com.tangosol.coherence.component.util.daemon.run(daemon.cdb:51) @ java.lang.thread.run(thread.java:745) caused by: portable(com.tangosol.util.assertionexception): assertion failed: @ com.tangosol.util.base.azzertfailed(base.java:209) @ com.tangosol.util.base.azzert(base.java:166) @ com.tangosol.net.cache.readwritebackingmap$cachestorewrapper.storeallinternal(readwritebackingmap.java:5943) @ com.tangosol.net.cache.readwritebackingmap$storewrapper.storeall(readwritebackingmap.java:5067) @ com.tangosol.net.cache.readwritebackingmap.putall(readwritebackingmap.java:840) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$storage.putallprimaryresource(partitionedcache.cdb:7) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$storage.postputall(partitionedcache.cdb:27) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$storage.putall(partitionedcache.cdb:14) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache.onputallrequest(partitionedcache.cdb:62) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$putallrequest$putjob.run(partitionedcache.cdb:1) @ com.tangosol.coherence.component.util.daemonpool$wrappertask.run(daemonpool.cdb:1) @ com.tangosol.coherence.component.util.daemonpool$wrappertask.run(daemonpool.cdb:32) @ com.tangosol.coherence.component.util.daemonpool$daemon.onnotify(daemonpool.cdb:65) @ com.tangosol.coherence.component.util.daemon.run(daemon.cdb:51) @ java.lang.thread.run(unknown source) @ <process boundary> @ com.tangosol.io.pof.throwablepofserializer.deserialize(throwablepofserializer.java:57) @ com.tangosol.io.pof.pofbufferreader.readasobject(pofbufferreader.java:3316) @ com.tangosol.io.pof.pofbufferreader.readobject(pofbufferreader.java:2604) @ com.tangosol.io.pof.portableexception.readexternal(portableexception.java:150) @ com.tangosol.io.pof.throwablepofserializer.deserialize(throwablepofserializer.java:59) @ com.tangosol.io.pof.pofbufferreader.readasobject(pofbufferreader.java:3316) @ com.tangosol.io.pof.pofbufferreader.readobject(pofbufferreader.java:2604) @ com.tangosol.io.pof.configurablepofcontext.deserialize(configurablepofcontext.java:376) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.readobject(service.cdb:1) @ com.tangosol.coherence.component.net.message.readobject(message.cdb:1) @ com.tangosol.coherence.component.net.message.responsemessage.distributedpartialresponse.read(distributedpartialresponse.cdb:12) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache$partialvalueresponse.read(partitionedcache.cdb:4) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.deserializemessage(grid.cdb:20) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.onnotify(grid.cdb:21) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.onnotify(partitionedservice.cdb:3) @ com.tangosol.coherence.component.util.daemon.queueprocessor.service.grid.partitionedservice.partitionedcache.onnotify(partitionedcache.cdb:3) @ com.tangosol.coherence.component.util.daemon.run(daemon.cdb:51) @ java.lang.thread.run(thread.java:745)
i found if loader class defined in cachestore-scheme element, implements cachestore instead of cacheloader , leave store() , storeall() empty, no exception raised. according oracle documents, implementing cachestore not necessary read-only cache-store , implementing cacheloader sufficient. might bug. not sure implementing cachestore empty store() , storeall() methods when need read-only cache-store has performance penalty or not?
oracle java-ee caching oracle-coherence
Comments
Post a Comment