[
https://issues.apache.org/jira/browse/CASSANDRA-13233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Brown updated CASSANDRA-13233:
------------------------------------
Description:
The changes introduced in CASSANDRA-7838 (Resolved; Fixed; 2.2.0 beta 1): "Warn
user when OS settings are poor / integrate sigar" are not Mac friendly.
{code}
INFO [main] 2016-10-18T11:20:10,330 SigarLibrary.java:44 - Initializing SIGAR
library
DEBUG [main] 2016-10-18T11:20:10,342 SigarLog.java:60 - no
libsigar-universal64-macosx.dylib in java.library.path
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in
java.library.path
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
~[sigar-1.6.4.jar:?]
at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100) [sigar-1.6.4.jar:?]
at org.apache.cassandra.utils.SigarLibrary.<init>(SigarLibrary.java:47)
[main/:?]
at
org.apache.cassandra.utils.SigarLibrary.<clinit>(SigarLibrary.java:28) [main/:?]
at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:363) [main/:?]
at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:342)
[main/:?]
at
org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:291)
[main/:?]
at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:42)
[main/:?]
at
org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1278)
[main/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:369)
[classes/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:356)
[classes/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:351)
[classes/:?]
at
org.apache.cassandra.batchlog.BatchTest.defineSchema(BatchTest.java:59)
[classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_66]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_66]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_66]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
[junit-4.6.jar:?]
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
[junit-4.6.jar:?]
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
[junit-4.6.jar:?]
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
[junit-4.6.jar:?]
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
[junit-4.6.jar:?]
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
[junit-4.6.jar:?]
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
[junit-4.6.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
[ant-junit.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
[ant-junit.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
[ant-junit.jar:?]
INFO [main] 2016-10-18T11:20:10,350 SigarLibrary.java:57 - Could not
initialize SIGAR library
org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
{code}
There are 2 issues addressed by the attached patch:
# Create platform aware (windows, Darwin, linux) implementations of CLibrary
(for instance CLibrary today assumes all platforms have support for
posix_fadvise but this doesn't exist in the Darwin kernel). If methods are
defined with the "native" JNI keyword in java when the class is loaded it will
cause our jna check to fail incorrectly making all of CLibrary "disabled" even
though because jnaAvailable = false even though on a platform like Darwin all
of the native methods except posix_fadvise are supported.
# Replace sigar usage to get current pid with calls to CLibrary/native
equivalent -- and fall back to Sigar for platforms like Windows who don't have
that support with JDK8 (and without a CLibrary equivalent)
was:
The changes introduced in https://issues.apache.org/jira/browse/CASSANDRA-7838
(Resolved; Fixed; 2.2.0 beta 1): "Warn user when OS settings are poor /
integrate sigar" are not Mac friendly.
{code}
INFO [main] 2016-10-18T11:20:10,330 SigarLibrary.java:44 - Initializing SIGAR
library
DEBUG [main] 2016-10-18T11:20:10,342 SigarLog.java:60 - no
libsigar-universal64-macosx.dylib in java.library.path
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in
java.library.path
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
~[sigar-1.6.4.jar:?]
at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100) [sigar-1.6.4.jar:?]
at org.apache.cassandra.utils.SigarLibrary.<init>(SigarLibrary.java:47)
[main/:?]
at
org.apache.cassandra.utils.SigarLibrary.<clinit>(SigarLibrary.java:28) [main/:?]
at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:363) [main/:?]
at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:342)
[main/:?]
at
org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:291)
[main/:?]
at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:42)
[main/:?]
at
org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1278)
[main/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:369)
[classes/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:356)
[classes/:?]
at
org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:351)
[classes/:?]
at
org.apache.cassandra.batchlog.BatchTest.defineSchema(BatchTest.java:59)
[classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_66]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_66]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_66]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
[junit-4.6.jar:?]
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
[junit-4.6.jar:?]
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
[junit-4.6.jar:?]
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
[junit-4.6.jar:?]
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
[junit-4.6.jar:?]
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
[junit-4.6.jar:?]
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
[junit-4.6.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
[ant-junit.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
[ant-junit.jar:?]
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
[ant-junit.jar:?]
INFO [main] 2016-10-18T11:20:10,350 SigarLibrary.java:57 - Could not
initialize SIGAR library
org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
{code}
There are 2 issues addressed by the attached patch:
# Create platform aware (windows, Darwin, linux) implementations of CLibrary
(for instance CLibrary today assumes all platforms have support for
posix_fadvise but this doesn't exist in the Darwin kernel). If methods are
defined with the "native" JNI keyword in java when the class is loaded it will
cause our jna check to fail incorrectly making all of CLibrary "disabled" even
though because jnaAvailable = false even though on a platform like Darwin all
of the native methods except posix_fadvise are supported.
# Replace sigar usage to get current pid with calls to CLibrary/native
equivalent -- and fall back to Sigar for platforms like Windows who don't have
that support with JDK8 (and without a CLibrary equivalent)
> no libsigar-universal64-macosx.dylib in java.library.path
> ---------------------------------------------------------
>
> Key: CASSANDRA-13233
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13233
> Project: Cassandra
> Issue Type: Bug
> Reporter: Michael Kjellman
> Assignee: Michael Kjellman
> Attachments: 28827709.diff
>
>
> The changes introduced in CASSANDRA-7838 (Resolved; Fixed; 2.2.0 beta 1):
> "Warn user when OS settings are poor / integrate sigar" are not Mac friendly.
> {code}
> INFO [main] 2016-10-18T11:20:10,330 SigarLibrary.java:44 - Initializing
> SIGAR library
> DEBUG [main] 2016-10-18T11:20:10,342 SigarLog.java:60 - no
> libsigar-universal64-macosx.dylib in java.library.path
> org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in
> java.library.path
> at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
> ~[sigar-1.6.4.jar:?]
> at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
> [sigar-1.6.4.jar:?]
> at
> org.apache.cassandra.utils.SigarLibrary.<init>(SigarLibrary.java:47) [main/:?]
> at
> org.apache.cassandra.utils.SigarLibrary.<clinit>(SigarLibrary.java:28)
> [main/:?]
> at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:363) [main/:?]
> at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:342)
> [main/:?]
> at
> org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:291)
> [main/:?]
> at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:42)
> [main/:?]
> at
> org.apache.cassandra.config.CFMetaData$Builder.build(CFMetaData.java:1278)
> [main/:?]
> at
> org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:369)
> [classes/:?]
> at
> org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:356)
> [classes/:?]
> at
> org.apache.cassandra.SchemaLoader.standardCFMD(SchemaLoader.java:351)
> [classes/:?]
> at
> org.apache.cassandra.batchlog.BatchTest.defineSchema(BatchTest.java:59)
> [classes/:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[?:1.8.0_66]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[?:1.8.0_66]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_66]
> at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> [junit-4.6.jar:?]
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> [junit-4.6.jar:?]
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> [junit-4.6.jar:?]
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
> [junit-4.6.jar:?]
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> [junit-4.6.jar:?]
> at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> [junit-4.6.jar:?]
> at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
> [junit-4.6.jar:?]
> at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
> [ant-junit.jar:?]
> at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
> [ant-junit.jar:?]
> at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
> [ant-junit.jar:?]
> INFO [main] 2016-10-18T11:20:10,350 SigarLibrary.java:57 - Could not
> initialize SIGAR library
> org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
> {code}
> There are 2 issues addressed by the attached patch:
> # Create platform aware (windows, Darwin, linux) implementations of CLibrary
> (for instance CLibrary today assumes all platforms have support for
> posix_fadvise but this doesn't exist in the Darwin kernel). If methods are
> defined with the "native" JNI keyword in java when the class is loaded it
> will cause our jna check to fail incorrectly making all of CLibrary
> "disabled" even though because jnaAvailable = false even though on a platform
> like Darwin all of the native methods except posix_fadvise are supported.
> # Replace sigar usage to get current pid with calls to CLibrary/native
> equivalent -- and fall back to Sigar for platforms like Windows who don't
> have that support with JDK8 (and without a CLibrary equivalent)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)