You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/01/12 01:40:11 UTC

[GitHub] [accumulo] EdColeman edited a comment on pull request #2414: Fix issues in MiniAccumuloCluster.verifyUp that is causing tests to fail

EdColeman edited a comment on pull request #2414:
URL: https://github.com/apache/accumulo/pull/2414#issuecomment-1010543242


   The fragment below, (copied from NativeMapIT) as a unit test can detect if the native libraries are present - when the are not, the tservers will fail to start.  Currently verify up throws:
   ```
   java.lang.RuntimeException: Timed out waiting for TServer information in ZooKeeper
   ```
   
   ```
     @Test
     public void itTest() {
       System.setProperty("accumulo.native.lib.path", nativeMapLocation().getAbsolutePath());
       assertTrue(NativeMap.isLoaded());
     }
   
     private static File nativeMapLocation() {
       File projectDir = new File(System.getProperty("user.dir")).getParentFile();
       return new File(projectDir, "server/native/target/accumulo-native-" + Constants.VERSION
           + "/accumulo-native-" + Constants.VERSION);
     }
   
   ```
   
   The tserver log shows the ultimate reason for the failure:
   
   Exception from Tserver log with missing native library
   <details>
     <summary>Click to expand!</summary>
   
   ```
   2022-01-12T01:25:14,669 [tserver.NativeMap] ERROR: Tried and failed to load Accumulo native library from ./server/native/target/accumulo-native-2.1.0-SNAPSHOT/accumulo-native-2.1.0-SNAPSHOT:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
   java.lang.UnsatisfiedLinkError: no accumulo in java.library.path: [./server/native/target/accumulo-native-2.1.0-SNAPSHOT/accumulo-native-2.1.0-SNAPSHOT, /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
           at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2680) ~[?:?]
           at java.lang.Runtime.loadLibrary0(Runtime.java:807) ~[?:?]
           at java.lang.System.loadLibrary(System.java:1907) ~[?:?]
           at org.apache.accumulo.tserver.NativeMap.<clinit>(NativeMap.java:96) ~[classes/:?]
           at org.apache.accumulo.tserver.TabletServerResourceManager.<init>(TabletServerResourceManager.java:257) ~[classes/:?]
           at org.apache.accumulo.tserver.TabletServer.<init>(TabletServer.java:347) ~[classes/:?]
           at org.apache.accumulo.tserver.TabletServer.main(TabletServer.java:232) ~[classes/:?]
           at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
           at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
           at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
           at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
           at org.apache.accumulo.start.Main.lambda$execMainClass$1(Main.java:163) ~[classes/:?]
           at java.lang.Thread.run(Thread.java:832) [?:?]
   2022-01-12T01:25:14,681 [tserver.NativeMap] ERROR: FATAL! Accumulo native libraries were requested but could not be be loaded. Either set 'tserver.memory.maps.native.enabled' to false in accumulo.properties or make sure native libraries are created in directories set by the JVM system property 'accumulo.native.lib.path' in accumulo-env.sh!
   ```
   
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org