You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the installation doc it is stated we should include some --add-opens to the JVM, however, in my scenario, is impossible to add those flags as I cannot control how the JVM is launched.
Currently, my application dont even start, because the MemoryUtil class is not loaded because an Exception in the static scope.
If instead of throwing an exception in the case the --add-opens is not set, we catch it as the other exceptions, we'll be able to load the class, and use arrow in our system
finalObjectmaybeDirectBufferConstructor =
AccessController.doPrivileged(
newPrivilegedAction<Object>() {
@OverridepublicObjectrun() {
try {
finalConstructor<?> constructor =
(majorVersion >= 21)
? direct.getClass().getDeclaredConstructor(long.class, long.class)
: direct.getClass().getDeclaredConstructor(long.class, int.class);
constructor.setAccessible(true);
logger.debug("Constructor for direct buffer found and made accessible");
returnconstructor;
} catch (NoSuchMethodExceptione) {
logger.debug("Cannot get constructor for direct buffer allocation", e);
returne;
} catch (SecurityExceptione) {
logger.debug("Cannot get constructor for direct buffer allocation", e);
returne;
} catch (InaccessibleObjectExceptione) { // <-- new added exception case logger.debug("Cannot get constructor for direct buffer allocation", e);
returne;
}
}
});
Currently, I'm forced to fork arrow because of this limitation. The proposed change is something acceptable ? I can propose a PR for it, but I dont know the full implications in all Arrow, but in my scenario is enough to use it for my purpose, and I would like to continue to use it without maintaining a fork.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
In the installation doc it is stated we should include some
--add-opensto the JVM, however, in my scenario, is impossible to add those flags as I cannot control how the JVM is launched.Currently, my application dont even start, because the MemoryUtil class is not loaded because an Exception in the static scope.
If instead of throwing an exception in the case the
--add-opensis not set, we catch it as the other exceptions, we'll be able to load the class, and use arrow in our systemCurrently, I'm forced to fork arrow because of this limitation. The proposed change is something acceptable ? I can propose a PR for it, but I dont know the full implications in all Arrow, but in my scenario is enough to use it for my purpose, and I would like to continue to use it without maintaining a fork.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions