Thanks for your help. I built the frocksdb locally on ARM and all the
related tests are passed now. Except some tests which can be fixed easily,
it seems that both building and testing are ran well on ARM.

Basing on my test, Is it possible to support Flink on ARM officailly? Seem
the worklist is not too long. And I can help with the CI testing part.

Need Flink team's idea.

Thanks.

Dian Fu <dian0511...@gmail.com> 于2019年7月8日周一 上午10:23写道:

> Hi Xiyuan,
>
> Thanks for bring the discussion.
>
> WRT the exception, it's because the native bundled in the rocksdb jar file
> isn't compiled with cross platform support. You can refer [1] for how to
> build rocksdb which has ARM platform.
>
> WRT ARM support, the rocksdb currently used in Flink is hosted in the
> Ververica git [2], so it won't be difficult to make it support ARM.
> However, I guess this git exists just for temporary [3], not because we
> want to add much feature in rocksdb.
>
> [1] https://github.com/facebook/rocksdb/issues/678 <
> https://github.com/facebook/rocksdb/issues/678>
> [2] https://github.com/dataArtisans/frocksdb <
> https://github.com/dataArtisans/frocksdb>
> [3] https://issues.apache.org/jira/browse/FLINK-10471 <
> https://issues.apache.org/jira/browse/FLINK-10471>
>
> Regards,
> Dian
>
> > 在 2019年7月8日,上午9:17,Xiyuan Wang <wangxiyuan1...@gmail.com> 写道:
> >
> > Hi Flink:
> >  Recently we meet a problem that we have to test and run Flink on ARM
> > arch. While after searching Flink community, I didn’t find an official
> ARM
> > release version.
> >
> > Since Flink is made by Java and Scala language which can be ran
> > cross-platform usually, I think Flink can be built and ran on ARM
> directly
> > as well. Then with my local test, Flink was built and deployed success as
> > expected. But some tests were failed due to ARM arch. For example:
> >
> > 1. MemoryArchitectureTest.testArchitectureNotUnknown:34 Values should be
> > different. Actual: UNKNOWN
> > 2. [ERROR]
> >
> testIterator(org.apache.flink.contrib.streaming.state.RocksDBRocksStateKeysIteratorTest)
> > Time elapsed: 0.234 s  <<< ERROR!
> > java.io.IOException: Could not load the native RocksDB library
> > at
> >
> org.apache.flink.contrib.streaming.state.RocksDBRocksStateKeysIteratorTest.testIteratorHelper(RocksDBRocksStateKeysIteratorTest.java:90)
> > at
> >
> org.apache.flink.contrib.streaming.state.RocksDBRocksStateKeysIteratorTest.testIterator(RocksDBRocksStateKeysIteratorTest.java:63)
> > Caused by: java.lang.UnsatisfiedLinkError:
> >
> /tmp/rocksdb-lib-81ca7930b92af2cca143a050c0338d34/librocksdbjni-linux64.so:
> >
> /tmp/rocksdb-lib-81ca7930b92af2cca143a050c0338d34/librocksdbjni-linux64.so:
> > cannot open shared object file: No such file or directory (Possible
> cause:
> > can't load AMD 64-bit .so on a AARCH64-bit platform)
> > …
> >
> >  Since the test isn’t passed totally, we are not sure if Flink 100%
> > support ARM or not. Is it possible for Flink to support ARM release
> > officially? I guess it may be not a very huge work basing on Java. I
> notice
> > that Flink now uses trivis-ci which is X86 only for build & test check.
> Is
> > it possible to add an ARM arch CI as well? It can be non-voting first.
> Then
> > we can keep monitoring and fixing ARM related error. One day it’s stable
> > enough, we can remove the non-voting tag and create Flink ARM release.
> >
> >  There is an open source CI community called OpenLab[1] which can provide
> > CI function and ARM resource to Flink by free. I’m one of the OpenLab
> > members. If Flink commun think ARM support is fine, I can keep helping
> > Flink to build and maintain the ARM CI job. There is an  POC for Flink
> ARM
> > build job made by me on OpenLab system[2] and a live demo which built and
> > run on an ARM VM[3]. You can take a look first.
> >
> > Eager to get everybody’s feedback. Any question is welcome.
> >
> > Thanks.
> >
> > [1]: https://openlabtesting.org/
> > [2]: https://github.com/theopenlab/flink/pull/1
> > [3]: http://114.115.168.52:8081/#/overview
>
>

Reply via email to