Document "lessons learned" from Quarkus work for Graal users

Description

We've done a fair amount of work to support various driver features while working on the Quarkus extension. A fair amount of this information generalizes to any user working on Graal, but because these "lessons learned" are contained in the Quarkus extension code base they don't generalize easily. A great example of what I'm thinking of here is the compression code which was created for JAVA-2707. There was a fair amount of work done there which applies to Graal generally including:

  • The fact that Snappy relies on native interop and probably shouldn't be supported

  • A collection of classes from the lz4 Java impl which should be included via reflection

  • A few Graal substitutions to avoid Graal's analysis from finding some problematic types

All of this information would be of interest to someone trying to implement protocol compression on a driver app to run on Graal... but at the moment it's hidden away.

My guess is that this ticket can be resolved with a page or two of documentation describing recommendations/best practices for using the driver on Graal. This page could easily break down into various feature sets of the driver (protocol compression being one such feature set).

Environment

None

Pull Requests

None

Assignee

Unassigned

Reporter

Bret McGuire

Labels

PM Priority

None

Affects versions

None

Fix versions

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Priority

Major
Configure