Rendiyono Wahyu Saputro created METRON-2159:
-----------------------------------------------

             Summary: BLOOM_EXISTS(OBJECT_GET()) Cannot work in SENSOR 
ENRICHMENT CONFIG
                 Key: METRON-2159
                 URL: https://issues.apache.org/jira/browse/METRON-2159
             Project: Metron
          Issue Type: Bug
    Affects Versions: 0.7.1
         Environment: Operating System
- CentOS Linux release 7.6.1810 (Core)

Hortonworks Software Used
- Hortonworks Data Platform 2.6.5.0-292
- Hortonworks Data Flow 3.1.0.0
- Hortonworks CyberSecurity Platform 1.9.1.0

Software Used
- Apache Kafka 1.0.0
- Apache Storm 1.1.0
- Apache Nifi 1.5.0
- Apache Metron 0.7.1.1.9.1.0
- HDFS 2.7.3
- HBase 1.1.2

Hardware Used :
4 (four) node using VMWare Virtualization, each using 4 core, 15.51 GB RAM, 
Storage 17.98 GB
            Reporter: Rendiyono Wahyu Saputro


Hello,
Hi there,

I'm following this tutorial ( 
[https://metron.apache.org/current-book/use-cases/typosquat_detection/index.html]
 ). And in section Generate the Bloom Filter, i am very sure this command is 
working and return value true in Stellar command
{code:java}
BLOOM_EXISTS(OBJECT_GET('/tmp/reference/alexa10k_filter.ser'), 'gogle'){code}
 

But, it does not work dan return an error when i put it in a Sensor at Apache 
Metron's Management -> RAW JSON -> SENSOR ENRICHMENT CONFIG. And i'm using 
ElasticSearch so i checked ELASTICSEARCH ENABLED.

How i get the error, i use ElasticSearch HEAD as Google Chrome Addons ( 
[https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm]
 ). And select error_index_ that have been created after Apache Metron send 
index to ElasticSearch.

The Error :

{
 * "_index": "error_index_2019.06.19.10",
 * "_type": "error_doc",
 * "_id": "AWtt2DrFshKy3KgUuMHX",
 * "_version": 1,
 * "_score": 1,
 * "_source": {
 ** "exception": "java.lang.IllegalStateException: ENRICHMENT error with 
stellar failed: Unable to parse: 
BLOOM_EXISTS(OBJECT_GET('/tmp/reference/alexa10k_filter.ser'), test_domain) due 
to: com.esotericsoftware.kryo.KryoException: Unable to find class:  
Serialization trace: bits (org.apache.metron.guava.enrichment.hash.BloomFilter) 
filter (org.apache.metron.stellar.common.utils.BloomFilter) with relevant 
variables test_domain=gogle",
 ** "failed_sensor_type": "error",
 ** "stack": "java.lang.IllegalStateException: ENRICHMENT error with stellar 
failed: Unable to parse: 
BLOOM_EXISTS(OBJECT_GET('/tmp/reference/alexa10k_filter.ser'), test_domain) due 
to: com.esotericsoftware.kryo.KryoException: Unable to find class:  
Serialization trace: bits (org.apache.metron.guava.enrichment.hash.BloomFilter) 
filter (org.apache.metron.stellar.common.utils.BloomFilter) with relevant 
variables test_domain=gogle at 
org.apache.metron.enrichment.parallel.ParallelEnricher.lambda$apply$0(ParallelEnricher.java:195)
 at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
 at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) Caused by: 
org.apache.metron.stellar.dsl.ParseException: Unable to parse: 
BLOOM_EXISTS(OBJECT_GET('/tmp/reference/alexa10k_filter.ser'), test_domain) due 
to: com.esotericsoftware.kryo.KryoException: Unable to find class:  
Serialization trace: bits (org.apache.metron.guava.enrichment.hash.BloomFilter) 
filter (org.apache.metron.stellar.common.utils.BloomFilter) with relevant 
variables test_domain=gogle at 
org.apache.metron.stellar.common.BaseStellarProcessor.createException(BaseStellarProcessor.java:173)
 at 
org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:154)
 at 
org.apache.metron.enrichment.adapters.stellar.StellarAdapter.process(StellarAdapter.java:118)
 at 
org.apache.metron.enrichment.adapters.stellar.StellarAdapter.enrich(StellarAdapter.java:190)
 at 
org.apache.metron.enrichment.adapters.stellar.StellarAdapter.enrich(StellarAdapter.java:43)
 at 
org.apache.metron.enrichment.parallel.EnrichmentCallable.apply(EnrichmentCallable.java:64)
 at 
org.apache.metron.enrichment.parallel.EnrichmentCallable.apply(EnrichmentCallable.java:30)
 at 
com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:143)
 at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2039)
 at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) 
at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2037)
 at 
com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2020)
 at 
com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)
 at 
com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:54)
 at 
org.apache.metron.enrichment.parallel.ParallelEnricher.lambda$apply$0(ParallelEnricher.java:182)
 ... 4 more Caused by: 
org.apache.metron.guava.enrichment.util.concurrent.UncheckedExecutionException: 
com.esotericsoftware.kryo.KryoException: Unable to find class:  Serialization 
trace: bits (org.apache.metron.guava.enrichment.hash.BloomFilter) filter 
(org.apache.metron.stellar.common.utils.BloomFilter) at 
org.apache.metron.guava.enrichment.cache.LocalCache$Segment.get(LocalCache.java:2256)
 at 
org.apache.metron.guava.enrichment.cache.LocalCache.get(LocalCache.java:3980) 
at 
org.apache.metron.guava.enrichment.cache.LocalCache.getOrLoad(LocalCache.java:3984)
 at 
org.apache.metron.guava.enrichment.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4868)
 at org.apache.metron.enrichment.stellar.ObjectGet.apply(ObjectGet.java:110) at 
org.apache.metron.stellar.common.StellarCompiler.lambda$exitTransformationFunc$13(StellarCompiler.java:664)
 at 
org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:259)
 at 
org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:151)
 ... 17 more Caused by: com.esotericsoftware.kryo.KryoException: Unable to find 
class:  Serialization trace: bits 
(org.apache.metron.guava.enrichment.hash.BloomFilter) filter 
(org.apache.metron.stellar.common.utils.BloomFilter) at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:156)
 at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:133)
 at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:670) at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:118) at 
com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:551)
 at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:759) at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:132) at 
com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:551)
 at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:790) at 
org.apache.metron.common.utils.SerDeUtils.fromBytes(SerDeUtils.java:262) at 
org.apache.metron.enrichment.stellar.ObjectGet$Loader.load(ObjectGet.java:87) 
at 
org.apache.metron.enrichment.stellar.ObjectGet$Loader.load(ObjectGet.java:72) 
at 
org.apache.metron.guava.enrichment.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3579)
 at 
org.apache.metron.guava.enrichment.cache.LocalCache$Segment.loadSync(LocalCache.java:2372)
 at 
org.apache.metron.guava.enrichment.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2335)
 at 
org.apache.metron.guava.enrichment.cache.LocalCache$Segment.get(LocalCache.java:2250)
 ... 24 more Caused by: java.lang.ClassNotFoundException:  at 
java.net.URLClassLoader.findClass(URLClassLoader.java:381) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:424) at 
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:357) at 
java.lang.Class.forName0(Native Method) at 
java.lang.Class.forName(Class.java:348) at 
com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:154)
 ... 39 more ",
 ** "hostname": "HCP1-Master1",
 ** "source:type": "error",
 ** "raw_message": 
"\{"":{"test_domain":null,"url":"www.gogle.com"},"source.type":"typo"}",
 ** "error_hash": 
"8219f37f7fd3f84b8dc6a2e04dd68b6139795b8e8fe4cc072ae9344ea559d1dc",
 ** "error_type": "enrichments_error",
 ** "guid": "6d295227-aa41-4a99-95e8-46dc5a938e1f",
 ** "message": "ENRICHMENT error with stellar failed: Unable to parse: 
BLOOM_EXISTS(OBJECT_GET('/tmp/reference/alexa10k_filter.ser'), test_domain) due 
to: com.esotericsoftware.kryo.KryoException: Unable to find class:  
Serialization trace: bits (org.apache.metron.guava.enrichment.hash.BloomFilter) 
filter (org.apache.metron.stellar.common.utils.BloomFilter) with relevant 
variables test_domain=gogle",
 ** "timestamp": 1560916000031}

}

Can you help me how to figure out what is going on. Thank in advance

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to