@Yun Tang Does it make sense to add RocksDB to the "always parent-first
options" to avoid these kind of errors when users package apps incorrectly?
My feeling is that these packaging errors occur very frequently.


On Wed, Aug 4, 2021 at 10:41 AM Yun Tang <myas...@live.com> wrote:

> Hi Sandeep,
>
> Did you include the RocksDB classes in the application jar package? You
> can unpark your jar package to check whether them existed.
> If so, since RocksDB classes are already included in the flink-dist
> package, you don't need to include them in your jar package (maybe you
> explicitly added the dependency of org.rocksdb:rocksdbjni in your pom).
>
> Best
> Yun Tang
> ------------------------------
> *From:* Sandeep khanzode <sand...@shiftright.ai>
> *Sent:* Wednesday, August 4, 2021 11:54
> *To:* user <user@flink.apache.org>
> *Subject:* Bloom Filter - RocksDB - LinkageError Classloading
>
> Hello,
>
> I tried to add the bloom filter functionality as mentioned here:
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.11/api/java/org/apache/flink/contrib/streaming/state/RocksDBOptionsFactory.html
>
>  rocksDbBackend.setRocksDBOptions(new RocksDBOptionsFactory() {
>
>       public DBOptions createDBOptions(DBOptions currentOptions, 
> Collection<AutoCloseable> handlesToClose) {
>               return currentOptions.setMaxOpenFiles(1024);
>       }
>
>       public ColumnFamilyOptions createColumnOptions(ColumnFamilyOptions 
> currentOptions, Collection<AutoCloseable> handlesToClose) {
>               BloomFilter bloomFilter = new BloomFilter();
>                       handlesToClose.add(bloomFilter);
>
>                       return currentOptions
>                                       .setTableFormatConfig(
>                                                       new 
> BlockBasedTableConfig().setFilter(bloomFilter));
>       }
>  });
>
>
> This is in the main class where we setup in the StreamExecutionEnvironment
> …
>
> I get ClassLoading errors due to that ...
>
> Caused by: java.lang.LinkageError: loader constraint violation: loader 
> org.apache.flink.util.ChildFirstClassLoader @1169afe1 wants to load class 
> org.rocksdb.ColumnFamilyOptions. A different class with the same name was 
> previously loaded by 'app'. (org.rocksdb.ColumnFamilyOptions is in unnamed 
> module of loader 'app')
>
>
>
> What is documented is to change the order to parent-first in the
> flink-conf.yaml … but then I get different issues for the basic/core Spring
> Framework classes not being serializable …
>
> Any help will be appreciated.
>
> Thanks,
> Sandip
>

Reply via email to