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 |
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 <[hidden email]> 写道: > > 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 |
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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > 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 > > |
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 <[hidden email]> Sent: Tuesday, July 9, 2019 10:52 To: [hidden email] 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > 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 > > |
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 <[hidden email]> 于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 <[hidden email]> > Sent: Tuesday, July 9, 2019 10:52 > To: [hidden email] > 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > > > 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 > > > > > |
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 <[hidden email]> 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 <[hidden email]> 于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 <[hidden email]> > > Sent: Tuesday, July 9, 2019 10:52 > > To: [hidden email] > > 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > > > > > 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 > > > > > > > > > |
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 <[hidden email]> 于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 <[hidden email]> > 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 <[hidden email]> 于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 <[hidden email]> > > > Sent: Tuesday, July 9, 2019 10:52 > > > To: [hidden email] > > > 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > > > > > > > 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 > > > > > > > > > > > > > > |
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 <[hidden email]> 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 <[hidden email]> 于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 <[hidden email]> > > 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 <[hidden email]> 于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 <[hidden email]> > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > To: [hidden email] > > > > 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > |
Hi Stephan,
Maybe I misled you in the previous email. We don't need to migrate CI completely, travis-ci is still there working for X86 arch. What we need to do is to add another CI tool for ARM arch. There are some ways to do it. As I wrote on https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with travis-ci. What Flilnk need to do is adding the openlab github app to the repo, then add the job define files inner Flink repo, Here is a POC by me: https://github.com/theopenlab/flink/pull/1 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then Flink can use the Apache offical Jenkins system for Flink ARM test in the future. https://builds.apache.org/ 3. Use Drony CI which support ARM arch as well. https://drone.io/ Since I'm from OpenLab community, if Flink choose OpenLab CI, My OpenLab colleague and I can keep helping and maintaining the ARM CI job. If choose the 2nd way, the CI maintainance work may be handled by apache-infra team I guess. If choose the 3rd Drony CI, what we can help is very limited. AFAIK, Drony use container for CI test, which may not satisfy some requiremnts. And OpenLab use VM for test. Need Flink core team's decision and reply. Thanks. Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > 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 <[hidden email]> > 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 <[hidden email]> 于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 <[hidden email]> > > > 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 <[hidden email]> 于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 <[hidden email]> > > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > > To: [hidden email] > > > > > 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 <[hidden email]> 于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 <[hidden email]> 写道: > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > |
We (as in the Flink PMC) cannot add apps to the GitHub repo; please
check first with INFRA whether these CI systems are allowed. On 30/07/2019 03:44, Xiyuan Wang wrote: > Hi Stephan, > Maybe I misled you in the previous email. We don't need to migrate CI > completely, travis-ci is still there working for X86 arch. What we need to > do is to add another CI tool for ARM arch. > > There are some ways to do it. As I wrote on > https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: > > 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with > travis-ci. What Flilnk need to do is adding the openlab github app to the > repo, then add the job define files inner Flink repo, Here is a POC by me: > https://github.com/theopenlab/flink/pull/1 > 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then > Flink can use the Apache offical Jenkins system for Flink ARM test in the > future. https://builds.apache.org/ > 3. Use Drony CI which support ARM arch as well. https://drone.io/ > > Since I'm from OpenLab community, if Flink choose OpenLab CI, My OpenLab > colleague and I can keep helping and maintaining the ARM CI job. If choose > the 2nd way, the CI maintainance work may be handled by apache-infra team I > guess. If choose the 3rd Drony CI, what we can help is very limited. > AFAIK, Drony use container for CI test, which may not satisfy some > requiremnts. And OpenLab use VM for test. > > Need Flink core team's decision and reply. > > Thanks. > > > Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > >> 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 <[hidden email]> >> 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 <[hidden email]> 于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 <[hidden email]> >>>> 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 <[hidden email]> 于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 <[hidden email]> >>>>>> Sent: Tuesday, July 9, 2019 10:52 >>>>>> To: [hidden email] >>>>>> 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 <[hidden email]> 于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 <[hidden email]> 写道: >>>>>>>> >>>>>>>> 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 >>>>>>> |
In reply to this post by Xiyuan Wang
Wow, that is pretty nice work, thanks a lot!
We need some support from Apache Infra to see if we can connect the Flink Github Repo with the OpenLab CI. We would also need a discussion on the developer mailing list, to get community agreement. Have you looked at whether we need to run all tests with ARM, or whether maybe only the "core" and "tests" profile would be enough to get confidence that Flink runs on ARM? Just asking because Flink has a lot of long running tests by now that can easily eat up a lot of CI capacity. Best, Stephan On Tue, Jul 30, 2019 at 3:45 AM Xiyuan Wang <[hidden email]> wrote: > Hi Stephan, > Maybe I misled you in the previous email. We don't need to migrate CI > completely, travis-ci is still there working for X86 arch. What we need to > do is to add another CI tool for ARM arch. > > There are some ways to do it. As I wrote on > https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: > > 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with > travis-ci. What Flilnk need to do is adding the openlab github app to the > repo, then add the job define files inner Flink repo, Here is a POC by me: > https://github.com/theopenlab/flink/pull/1 > 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then > Flink can use the Apache offical Jenkins system for Flink ARM test in the > future. https://builds.apache.org/ > 3. Use Drony CI which support ARM arch as well. https://drone.io/ > > Since I'm from OpenLab community, if Flink choose OpenLab CI, My OpenLab > colleague and I can keep helping and maintaining the ARM CI job. If choose > the 2nd way, the CI maintainance work may be handled by apache-infra team I > guess. If choose the 3rd Drony CI, what we can help is very limited. > AFAIK, Drony use container for CI test, which may not satisfy some > requiremnts. And OpenLab use VM for test. > > Need Flink core team's decision and reply. > > Thanks. > > > Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > > > 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 <[hidden email]> > > 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 <[hidden email]> 于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 < > [hidden email]> > > > > 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 <[hidden email]> 于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 <[hidden email]> > > > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > > > To: [hidden email] > > > > > > 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 <[hidden email]> 于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 <[hidden email]> > 写道: > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
Thanks for your reply.
We are now keeping investigating and debugging Flink on ARM. It's hard for us to say How many kinds of test are enough for ARM support at this moment, but `core` and `test` are necessary of cause I think. What we do now is following travis-ci, added all the module that tarvis-ci contains. During out local test, there are just few tests failed[1]. We have solutions for some of them, others are still under debugging. Flink team's idea is welcome. And very thanks for your jira issue[2], we will keep updating it then. It'll be great if Infra Team could add OpenLab App[3](or other CI if Flink choose) to Flink repo. I'm not clear how to talk with Infra Team, should Flink team start the discussion? Or I send a mail list to Infra? Need your help. Then once app is added, perhaps we can add `core` and `test` jobs as the first step, making them run stable and successful and then adding more modules if needed. [1]: https://etherpad.net/p/flink_arm64_support [2]: https://issues.apache.org/jira/browse/FLINK-13448 [3]: https://github.com/apps/theopenlab-ci Regards wangxiyuan Stephan Ewen <[hidden email]> 于2019年7月31日周三 下午9:46写道: > Wow, that is pretty nice work, thanks a lot! > > We need some support from Apache Infra to see if we can connect the Flink > Github Repo with the OpenLab CI. > We would also need a discussion on the developer mailing list, to get > community agreement. > > Have you looked at whether we need to run all tests with ARM, or whether > maybe only the "core" and "tests" profile would be enough to get confidence > that Flink runs on ARM? > Just asking because Flink has a lot of long running tests by now that can > easily eat up a lot of CI capacity. > > Best, > Stephan > > > > On Tue, Jul 30, 2019 at 3:45 AM Xiyuan Wang <[hidden email]> > wrote: > > > Hi Stephan, > > Maybe I misled you in the previous email. We don't need to migrate CI > > completely, travis-ci is still there working for X86 arch. What we need > to > > do is to add another CI tool for ARM arch. > > > > There are some ways to do it. As I wrote on > > https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: > > > > 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with > > travis-ci. What Flilnk need to do is adding the openlab github app to the > > repo, then add the job define files inner Flink repo, Here is a POC by > me: > > https://github.com/theopenlab/flink/pull/1 > > 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then > > Flink can use the Apache offical Jenkins system for Flink ARM test in > the > > future. https://builds.apache.org/ > > 3. Use Drony CI which support ARM arch as well. https://drone.io/ > > > > Since I'm from OpenLab community, if Flink choose OpenLab CI, My OpenLab > > colleague and I can keep helping and maintaining the ARM CI job. If > choose > > the 2nd way, the CI maintainance work may be handled by apache-infra > team I > > guess. If choose the 3rd Drony CI, what we can help is very limited. > > AFAIK, Drony use container for CI test, which may not satisfy some > > requiremnts. And OpenLab use VM for test. > > > > Need Flink core team's decision and reply. > > > > Thanks. > > > > > > Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > > > > > 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 <[hidden email]> > > > 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 <[hidden email]> 于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 < > > [hidden email]> > > > > > 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 <[hidden email]> 于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 <[hidden email]> > > > > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > > > > To: [hidden email] > > > > > > > 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 <[hidden email]> 于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 <[hidden email]> > > 写道: > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
Please open a JIRA with INFRA and ask whether OpenLab/Drone are
supported by INFRA. On 01/08/2019 04:16, Xiyuan Wang wrote: > Thanks for your reply. > > We are now keeping investigating and debugging Flink on ARM. It's hard for > us to say How many kinds of test are enough for ARM support at this moment, > but `core` and `test` are necessary of cause I think. What we do now is > following travis-ci, added all the module that tarvis-ci contains. > > During out local test, there are just few tests failed[1]. We have > solutions for some of them, others are still under debugging. Flink team's > idea is welcome. And very thanks for your jira issue[2], we will keep > updating it then. > > It'll be great if Infra Team could add OpenLab App[3](or other CI if Flink > choose) to Flink repo. I'm not clear how to talk with Infra Team, should > Flink team start the discussion? Or I send a mail list to Infra? Need your > help. > > Then once app is added, perhaps we can add `core` and `test` jobs as the > first step, making them run stable and successful and then adding more > modules if needed. > > [1]: https://etherpad.net/p/flink_arm64_support > [2]: https://issues.apache.org/jira/browse/FLINK-13448 > [3]: https://github.com/apps/theopenlab-ci > > Regards > wangxiyuan > > Stephan Ewen <[hidden email]> 于2019年7月31日周三 下午9:46写道: > >> Wow, that is pretty nice work, thanks a lot! >> >> We need some support from Apache Infra to see if we can connect the Flink >> Github Repo with the OpenLab CI. >> We would also need a discussion on the developer mailing list, to get >> community agreement. >> >> Have you looked at whether we need to run all tests with ARM, or whether >> maybe only the "core" and "tests" profile would be enough to get confidence >> that Flink runs on ARM? >> Just asking because Flink has a lot of long running tests by now that can >> easily eat up a lot of CI capacity. >> >> Best, >> Stephan >> >> >> >> On Tue, Jul 30, 2019 at 3:45 AM Xiyuan Wang <[hidden email]> >> wrote: >> >>> Hi Stephan, >>> Maybe I misled you in the previous email. We don't need to migrate CI >>> completely, travis-ci is still there working for X86 arch. What we need >> to >>> do is to add another CI tool for ARM arch. >>> >>> There are some ways to do it. As I wrote on >>> https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: >>> >>> 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with >>> travis-ci. What Flilnk need to do is adding the openlab github app to the >>> repo, then add the job define files inner Flink repo, Here is a POC by >> me: >>> https://github.com/theopenlab/flink/pull/1 >>> 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then >>> Flink can use the Apache offical Jenkins system for Flink ARM test in >> the >>> future. https://builds.apache.org/ >>> 3. Use Drony CI which support ARM arch as well. https://drone.io/ >>> >>> Since I'm from OpenLab community, if Flink choose OpenLab CI, My OpenLab >>> colleague and I can keep helping and maintaining the ARM CI job. If >> choose >>> the 2nd way, the CI maintainance work may be handled by apache-infra >> team I >>> guess. If choose the 3rd Drony CI, what we can help is very limited. >>> AFAIK, Drony use container for CI test, which may not satisfy some >>> requiremnts. And OpenLab use VM for test. >>> >>> Need Flink core team's decision and reply. >>> >>> Thanks. >>> >>> >>> Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: >>> >>>> 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 <[hidden email]> >>>> 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 <[hidden email]> 于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 < >>> [hidden email]> >>>>>> 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 <[hidden email]> 于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 <[hidden email]> >>>>>>>> Sent: Tuesday, July 9, 2019 10:52 >>>>>>>> To: [hidden email] >>>>>>>> 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 <[hidden email]> 于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 <[hidden email]> >>> 写道: >>>>>>>>>> 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 >>>>>>>>> |
In reply to this post by Xiyuan Wang
Asking INFRA to add support means filing a JIRA ticket.
That works the same way as filing a FLINK Jira ticket, but selecting INFRA as the project to file the ticket for. On Thu, Aug 1, 2019 at 4:17 AM Xiyuan Wang <[hidden email]> wrote: > Thanks for your reply. > > We are now keeping investigating and debugging Flink on ARM. It's hard for > us to say How many kinds of test are enough for ARM support at this moment, > but `core` and `test` are necessary of cause I think. What we do now is > following travis-ci, added all the module that tarvis-ci contains. > > During out local test, there are just few tests failed[1]. We have > solutions for some of them, others are still under debugging. Flink team's > idea is welcome. And very thanks for your jira issue[2], we will keep > updating it then. > > It'll be great if Infra Team could add OpenLab App[3](or other CI if Flink > choose) to Flink repo. I'm not clear how to talk with Infra Team, should > Flink team start the discussion? Or I send a mail list to Infra? Need your > help. > > Then once app is added, perhaps we can add `core` and `test` jobs as the > first step, making them run stable and successful and then adding more > modules if needed. > > [1]: https://etherpad.net/p/flink_arm64_support > [2]: https://issues.apache.org/jira/browse/FLINK-13448 > [3]: https://github.com/apps/theopenlab-ci > > Regards > wangxiyuan > > Stephan Ewen <[hidden email]> 于2019年7月31日周三 下午9:46写道: > > > Wow, that is pretty nice work, thanks a lot! > > > > We need some support from Apache Infra to see if we can connect the Flink > > Github Repo with the OpenLab CI. > > We would also need a discussion on the developer mailing list, to get > > community agreement. > > > > Have you looked at whether we need to run all tests with ARM, or whether > > maybe only the "core" and "tests" profile would be enough to get > confidence > > that Flink runs on ARM? > > Just asking because Flink has a lot of long running tests by now that can > > easily eat up a lot of CI capacity. > > > > Best, > > Stephan > > > > > > > > On Tue, Jul 30, 2019 at 3:45 AM Xiyuan Wang <[hidden email]> > > wrote: > > > > > Hi Stephan, > > > Maybe I misled you in the previous email. We don't need to migrate CI > > > completely, travis-ci is still there working for X86 arch. What we need > > to > > > do is to add another CI tool for ARM arch. > > > > > > There are some ways to do it. As I wrote on > > > https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: > > > > > > 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar with > > > travis-ci. What Flilnk need to do is adding the openlab github app to > the > > > repo, then add the job define files inner Flink repo, Here is a POC by > > me: > > > https://github.com/theopenlab/flink/pull/1 > > > 2. OpenLab will donate ARM resouces to Apache Infra team as well. Then > > > Flink can use the Apache offical Jenkins system for Flink ARM test in > > the > > > future. https://builds.apache.org/ > > > 3. Use Drony CI which support ARM arch as well. https://drone.io/ > > > > > > Since I'm from OpenLab community, if Flink choose OpenLab CI, My > OpenLab > > > colleague and I can keep helping and maintaining the ARM CI job. If > > choose > > > the 2nd way, the CI maintainance work may be handled by apache-infra > > team I > > > guess. If choose the 3rd Drony CI, what we can help is very limited. > > > AFAIK, Drony use container for CI test, which may not satisfy some > > > requiremnts. And OpenLab use VM for test. > > > > > > Need Flink core team's decision and reply. > > > > > > Thanks. > > > > > > > > > Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > > > > > > > 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 < > [hidden email]> > > > > 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 <[hidden email]> 于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 < > > > [hidden email]> > > > > > > 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 <[hidden email]> 于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 <[hidden email]> > > > > > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > > > > > To: [hidden email] > > > > > > > > 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 <[hidden email]> 于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 <[hidden email] > > > > > 写道: > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
@Chesnay @ Stephan Thanks for the suggestion and help, and I open a JIRA
in [1]. Any other questions you could feel free to ping us. [1] https://issues.apache.org/jira/browse/INFRA-18822 Regards, Yikun ---------------------------------------- Jiang Yikun(Kero) Mail: [hidden email] Stephan Ewen <[hidden email]> 于2019年8月1日周四 下午4:41写道: > Asking INFRA to add support means filing a JIRA ticket. > > That works the same way as filing a FLINK Jira ticket, but selecting INFRA > as the project to file the ticket for. > > On Thu, Aug 1, 2019 at 4:17 AM Xiyuan Wang <[hidden email]> > wrote: > > > Thanks for your reply. > > > > We are now keeping investigating and debugging Flink on ARM. It's hard > for > > us to say How many kinds of test are enough for ARM support at this > moment, > > but `core` and `test` are necessary of cause I think. What we do now is > > following travis-ci, added all the module that tarvis-ci contains. > > > > During out local test, there are just few tests failed[1]. We have > > solutions for some of them, others are still under debugging. Flink > team's > > idea is welcome. And very thanks for your jira issue[2], we will keep > > updating it then. > > > > It'll be great if Infra Team could add OpenLab App[3](or other CI if > Flink > > choose) to Flink repo. I'm not clear how to talk with Infra Team, should > > Flink team start the discussion? Or I send a mail list to Infra? Need > your > > help. > > > > Then once app is added, perhaps we can add `core` and `test` jobs as the > > first step, making them run stable and successful and then adding more > > modules if needed. > > > > [1]: https://etherpad.net/p/flink_arm64_support > > [2]: https://issues.apache.org/jira/browse/FLINK-13448 > > [3]: https://github.com/apps/theopenlab-ci > > > > Regards > > wangxiyuan > > > > Stephan Ewen <[hidden email]> 于2019年7月31日周三 下午9:46写道: > > > > > Wow, that is pretty nice work, thanks a lot! > > > > > > We need some support from Apache Infra to see if we can connect the > Flink > > > Github Repo with the OpenLab CI. > > > We would also need a discussion on the developer mailing list, to get > > > community agreement. > > > > > > Have you looked at whether we need to run all tests with ARM, or > whether > > > maybe only the "core" and "tests" profile would be enough to get > > confidence > > > that Flink runs on ARM? > > > Just asking because Flink has a lot of long running tests by now that > can > > > easily eat up a lot of CI capacity. > > > > > > Best, > > > Stephan > > > > > > > > > > > > On Tue, Jul 30, 2019 at 3:45 AM Xiyuan Wang <[hidden email]> > > > wrote: > > > > > > > Hi Stephan, > > > > Maybe I misled you in the previous email. We don't need to migrate > CI > > > > completely, travis-ci is still there working for X86 arch. What we > need > > > to > > > > do is to add another CI tool for ARM arch. > > > > > > > > There are some ways to do it. As I wrote on > > > > https://issues.apache.org/jira/browse/FLINK-13199 to @Chesnay: > > > > > > > > 1. Add OpenLab CI system for ARM arch test.OpenLab is very similar > with > > > > travis-ci. What Flilnk need to do is adding the openlab github app to > > the > > > > repo, then add the job define files inner Flink repo, Here is a POC > by > > > me: > > > > https://github.com/theopenlab/flink/pull/1 > > > > 2. OpenLab will donate ARM resouces to Apache Infra team as well. > Then > > > > Flink can use the Apache offical Jenkins system for Flink ARM test > in > > > the > > > > future. https://builds.apache.org/ > > > > 3. Use Drony CI which support ARM arch as well. https://drone.io/ > > > > > > > > Since I'm from OpenLab community, if Flink choose OpenLab CI, My > > OpenLab > > > > colleague and I can keep helping and maintaining the ARM CI job. If > > > choose > > > > the 2nd way, the CI maintainance work may be handled by apache-infra > > > team I > > > > guess. If choose the 3rd Drony CI, what we can help is very limited. > > > > AFAIK, Drony use container for CI test, which may not satisfy some > > > > requiremnts. And OpenLab use VM for test. > > > > > > > > Need Flink core team's decision and reply. > > > > > > > > Thanks. > > > > > > > > > > > > Stephan Ewen <[hidden email]> 于2019年7月29日周一 下午6:05写道: > > > > > > > > > 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 < > > [hidden email]> > > > > > 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 <[hidden email]> 于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 < > > > > [hidden email]> > > > > > > > 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 <[hidden email]> 于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 <[hidden email]> > > > > > > > > > Sent: Tuesday, July 9, 2019 10:52 > > > > > > > > > To: [hidden email] > > > > > > > > > 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 <[hidden email]> 于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 < > [hidden email] > > > > > > > 写道: > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
Free forum by Nabble | Edit this page |