Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encapsulate native access #104876

Closed
wants to merge 86 commits into from
Closed

Encapsulate native access #104876

wants to merge 86 commits into from

Conversation

rjernst
Copy link
Member

@rjernst rjernst commented Jan 29, 2024

This is a WIP branch which moves JNA into a new internal lib, elasticsearch-native. It also hides JNA inside an implementation of a new NativeAccess api. Finally, it implements the NativeAccess api with Java's Foreign Function Interface when java 21+ is present.

@rjernst rjernst added the WIP label Jan 29, 2024
@rjernst rjernst requested a review from a team as a code owner January 29, 2024 17:24
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Mar 9, 2024
This commit moves systemd access to the NativeAccess lib.

relates elastic#104876
rjernst added a commit that referenced this pull request Mar 12, 2024
This commit moves systemd access to the NativeAccess lib.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request May 18, 2024
This commit moves getting max threads, max virtual memory size, and max
file size into NativeAccess.

relates elastic#104876
elasticsearchmachine pushed a commit that referenced this pull request May 20, 2024
This commit moves getting max threads, max virtual memory size, and max
file size into NativeAccess.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request May 20, 2024
This commit moves the implementations of locking virtual memory into RAM
into NativeAccess.

relates elastic#104876
rjernst added a commit that referenced this pull request May 21, 2024
This commit moves the implementations of locking virtual memory into RAM
into NativeAccess.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request May 21, 2024
Elasticsearch uses a couple windows specific functions, specifically
gettting a short path, and registering a console control handler for
shutdown notification. This commit moves this functionality from the
existing jna natives into NativeAccess.

relates elastic#104876
elasticsearchmachine pushed a commit that referenced this pull request May 23, 2024
Elasticsearch uses a couple windows specific functions, specifically
gettting a short path, and registering a console control handler for
shutdown notification. This commit moves this functionality from the
existing jna natives into NativeAccess.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request May 23, 2024
This commit moves the system call filtering initialization into
NativeAccess. The code is essentially unmodified from its existing
state, now existing within the *NativeAccess implementations.

relates elastic#104876
rjernst added a commit that referenced this pull request Jul 9, 2024
This commit moves the system call filtering initialization into
NativeAccess. The code is essentially unmodified from its existing
state, now existing within the *NativeAccess implementations.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Jul 9, 2024
This commit moves the file preallocation functionality into
NativeAccess. The code is basically the same. One small tweak is that
instead of breaking Java access boundaries in order to get an open file
handle, the new code uses posix open directly.

relates elastic#104876
rjernst added a commit that referenced this pull request Jul 11, 2024
This commit moves the file preallocation functionality into
NativeAccess. The code is basically the same. One small tweak is that
instead of breaking Java access boundaries in order to get an open file
handle, the new code uses posix open directly.

relates #104876
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Jul 11, 2024
All native methods are now bound through NativeAccess. This commit
removes the jna dependency from server.

relates elastic#104876
rjernst added a commit that referenced this pull request Jul 13, 2024
All native methods are now bound through NativeAccess. This commit
removes the jna dependency from server.

relates #104876
@rjernst
Copy link
Member Author

rjernst commented Jul 13, 2024

This PR has been merged through the linked PRs, closing.

@rjernst rjernst closed this Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants