Created
October 19, 2020 19:39
-
-
Save nik9000/cb44d0f56af4863f7add3144211eb03f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduction | |
Who is Nik | |
What is elasticsearch | |
My plan - 20 minutes of prepared material and then whatever folks would like | |
Who are you people? | |
Name, experience with Elasticsearch, what you are interested in doing | |
Fork the repo | |
Download latest JDK | |
Demonstration Part 1 - https://gist.github.com/nik9000/7f1c8670dd84a008c97035c1d40b2a16 | |
git clone [email protected]:yourname/elasticsearch.git | |
Demonstration Part 2 - https://gist.github.com/nik9000/1500f8896b30db104ec0f113f85a627a | |
Ok! Now that you have it, lets run it! | |
export JAVA_HOME=~/Downloads/tmp/jdk-15/ | |
./gradlew run | |
<wait a long time for it to compile, download, compile, download, compile, and start> | |
new window. Now use the gists! | |
Where should we go from here? Ideas: | |
Get it into an IDE | |
Run tests | |
Trace the execution on the _bulk request | |
Trace the execution of an agg | |
Run a test in your IDE | |
Look for good first issues | |
Notes if we trace a _bulk request: | |
Every API has three parts RestBulkAction/BulkRequest/BulkResponse/TransportBulkAction | |
TransportBlahAction does the actual action. | |
In this case it groups the parts of the bulk into BulkShardRequest per shard and then runs *that* it. | |
*that* is serialized to the node holding the primary for the shard | |
It performs on the primary and then serializes to the replicas and performs there | |
The word "Transport" is because you might have been "transported" from one node to another and then executed. Its a weird name. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment