Hi, Curious: what is the advantage of the FieldAccessHandle you wrote over the (now present) FieldAccessReflect? i.e. : Why did you create this alternative?
Niels On Fri, May 5, 2023 at 1:47 PM Christophe Le Saëc <[email protected]> wrote: > Hello Niels, > This is a nice idea !! > In same spirit, few time ago, i wrote class FieldAccessHandle (see joined > file), another extension of FieldAccess, that use > "java.lang.invoke.MethodHandle" instead of Unsafe. > And change ReflectionUtil class with it > > final FieldAccess unsafeAccess; > if (javaVersion != null && javaVersion.startsWith("1.8")) { > unsafeAccess = load("org.apache.avro.reflect.FieldAccessUnsafe", > FieldAccess.class); > } else { > unsafeAccess = load("org.apache.avro.reflect.FieldAccessHandle", > FieldAccess.class); > > } > > Hope it could help > > Le ven. 5 mai 2023 à 12:45, Niels Basjes <[email protected]> a écrit : > >> Hi, >> >> Currently several build plugins cannot be upgraded because the newer >> versions require Java 11+. >> So I'm working on this and I have a partially working pull request >> >> https://issues.apache.org/jira/browse/AVRO-3716 >> https://github.com/apache/avro/pull/2118 >> >> One of the things I ran into is that currently the main library MUST be >> built with JDK 8 because otherwise the code referring to theUnsafe simply >> won't build. >> Now there is already special code in place to use a reflection based >> system >> that is used if you are not running on Java 8. >> >> Since "everyone" I know is already running on Java 11 and 17 I propose to >> - kick theUnsafe code, making the code in that area a lot simpler. >> - Build the entire project with JDK 17 (or 11, but I prefer going to the >> latest LTS version) >> - Make it still produce Java 8 compliant code where possible (so just >> about >> everywhere but not Thrift). >> - Have checks in place to do a simple basic test using Java 8 (toolchains) >> >> One of the effects is that the build on Github will no longer use the >> "matrix" build and will build the project only once (I expect it to >> become faster because of that). >> >> Your opinions on this? >> >> -- >> Best regards / Met vriendelijke groeten, >> >> Niels Basjes >> > -- Best regards / Met vriendelijke groeten, Niels Basjes
