I don't think it is feasible for Flink to migrate CI completely.

Is there a way to add ARM tests on an external CI in addition?
@Chesnay what do you think?


On Fri, Jul 12, 2019 at 4:45 AM Xiyuan Wang <wangxiyuan1...@gmail.com>
wrote:

> Hi Stephan
>   yeah, we should add an ARM CI first. But Travis CI doesn't support ARM
> arch itself. OpenLab community support it. As I mentioned before, OpenLab
> is an opensource CI system like travis-ci.[1], it uses opensource CI
> project `zuul`[2] for its deployment. Now some opensource project has
> intergreted with it already. For example, `contained` project from
> CNCF community[3]. And I have a POC for Flink ARM build and test using
> OpenLab. Now the build is passed[4], and I'm working on debugging with the
> `test` part[5]. Is it fine for Flink to using?
>
> [1]: https://openlabtesting.org
> [2]: https://zuul-ci.org/docs/zuul/
> [3]: https://status.openlabtesting.org/projects
> [4]:
> https://status.openlabtesting.org/build/2aa33f1a87854679b70f36bd6f75a890
> [5]: https://github.com/theopenlab/flink/pull/1
>
>
> Stephan Ewen <se...@apache.org> 于2019年7月11日周四 下午9:56写道:
>
> > I think an ARM release would be cool.
> >
> > To actually support that properly, we would need something like an ARM
> > profile for the CI builds (at least in the nightly tests), otherwise ARM
> > support would probably be broken frequently.
> > Maybe that could be a way to start? Create a Travis CI ARM build (if
> > possible) and see what tests pass and which parts of the system would
> need
> > to be adjusted?
> >
> > On Thu, Jul 11, 2019 at 9:24 AM Xiyuan Wang <wangxiyuan1...@gmail.com>
> > wrote:
> >
> > > Hi yun:
> > >   I didn't try to build rocksdb with vagrant, but just `make -j8
> > > rocksdbjava` directly in an ARM machine.  We hit some issues as well.
> My
> > > colleague has created an issue in rocksdb[1]. Rocksdb doesn't contains
> > ARM
> > > .so file in his offical jar package. If you have the same request,
> let's
> > > work together there.
> > >
> > > Thanks.
> > >
> > > [1]: https://github.com/facebook/rocksdb/issues/5559
> > >
> > > Yun Tang <myas...@live.com> 于2019年7月11日周四 下午12:01写道:
> > >
> > > > Hi Xiyuan
> > > >
> > > > Have you ever tried to release RocksDB on ARM like official doc[1]
> > > > suggests? From our experience, cross-building for ARM did not work
> fine
> > > > with Vagrant and we have to build rocksDB's binary file on ARM
> > > separately.
> > > >
> > > > As frocksdb [2] might not always maintained in Flink, I think we'd
> > better
> > > > support to release RocksDB-java with ARM officially.
> > > >
> > > >
> > > > [1] https://github.com/facebook/rocksdb/blob/master/java/RELEASE.md
> > > > [2] https://github.com/dataArtisans/frocksdb
> > > >
> > > > Best
> > > > Yun Tang
> > > >
> > > >
> > > > ________________________________
> > > > From: Xiyuan Wang <wangxiyuan1...@gmail.com>
> > > > Sent: Tuesday, July 9, 2019 10:52
> > > > To: dev@flink.apache.org
> > > > Subject: Re: [DISCUSS] ARM support for Flink
> > > >
> > > > 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