Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | 5.5.0 |
A NullPointerExeption is thrown when a BQL query is executed and TIBCO BusinessEvents (BE) engine tries to serialize the returned data.
<timestamp> query Error [SnapshotQueryManager-3] - [query.stream] [<agentName>]
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NullPointerException
at com.tibco.cep.runtime.managed.EximHelper.translate(EximHelper.java:87)
at com.tibco.cep.runtime.model.serializers.as.AbstractTupleAdaptor.extractValue(AbstractTupleAdaptor.java:50)
at com.tibco.cep.runtime.model.serializers.as.AbstractTupleAdaptor.extractValue(AbstractTupleAdaptor.java:26)
at com.tibco.cep.as.kit.map.SpaceMapEntryIterator$MapEntryAdapter.getValue(SpaceMapEntryIterator.java:151)
at com.tibco.cep.query.stream.impl.rete.integ.EntityLoaderImpl.resumeOrStartBatchLoad(EntityLoaderImpl.java:93)
at com.tibco.cep.query.stream.impl.rete.service.SnapshotQueryFeeder$FeederJob.run(SnapshotQueryFeeder.java:251)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.tibco.cep.query.stream.monitor.CustomDaemonThreadFactory$FactoryDaemonThread.run(CustomDaemonThreadFactory.java:65)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at com.tibco.cep.runtime.model.serializers.as.AbstractTupleAdaptor$AsEximHelper.transform(AbstractTupleAdaptor.java:73)
at com.tibco.cep.runtime.model.serializers.as.AbstractTupleAdaptor$AsEximHelper.transform(AbstractTupleAdaptor.java:60)
at com.tibco.cep.runtime.managed.EximHelper.translate(EximHelper.java:66)
... 10 more
Caused by: java.lang.NullPointerException
at com.tibco.cep.runtime.model.serializers.as.AsPortablePojo.toPojo(AsPortablePojo.java:118)
at com.tibco.cep.runtime.model.serializers.as.AbstractTupleAdaptor$AsEximHelper.transform(AbstractTupleAdaptor.java:70)
... 12 more
Connect to as-admin (check *_as.log for metaspacename and discoveryURL): AS_HOME/bin/as-admin -metaspace "<metaspacename>" -discovery "<discoveryURL>" show spaces # now copy the Space (<spacename>) used to store the entity data from the list of spaces that you get when you execute show spaces command. join space "<spacename>" # check for valid typeID (return first 20 records) show space "<spacename>" entries query_limit 20 # another option is to use a filter string with an extId/id for an entity that could be loaded show space "<spacename>" entries filter "id=<idnumber>" # now copy the valid typeID and validate that for that concept with an incorrect typeID (normally this filter query should always return 0 records) eg.: typeId=1010 show space "<spacename>" entries filter "typeId__<> 1010" # check for null show space "<spacename>" entries filter "typeId__<> 1010" # When above filters returns values, some data are corrupt in the Space and you have to remove them from space using below as-admin command. eg. (typeID=1010) clear space "<spacename>" filter "typeId__ <> 1010" clear space "<spacename>" filter "typeId__ is null"