-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Remove client connections from TcpTransport #31886
Merged
Merged
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
6b6981f
Work on connection manager
Tim-Brooks 744375e
WIP
Tim-Brooks 002b371
WIP
Tim-Brooks 06a0093
At least fix checkstyle
Tim-Brooks f9e7080
Fix test
Tim-Brooks 67bc0b2
Add comment
Tim-Brooks 31e3acf
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 17a334a
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks c3544ad
Remove additional listeners
Tim-Brooks fc886bf
Work on fixing tests
Tim-Brooks f699321
Remove unused
Tim-Brooks 03acc19
Fix checkstyle
Tim-Brooks 796a728
Work on test infra
Tim-Brooks 8005de4
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 43dd3ad
Work on tests
Tim-Brooks acb743a
Remove methods
Tim-Brooks 2eacbfa
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks ca9fe7c
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks aaf2d87
Use new behaviors
Tim-Brooks f5778c0
Fix some tests
Tim-Brooks 2302fa1
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 95a7b85
Working on fixing tests
Tim-Brooks 2c5badd
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 5106852
Work on fixing tests
Tim-Brooks af37b63
Fix tests
Tim-Brooks 3e4b898
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 0436eb0
Work on transport client nodes service tests
Tim-Brooks f429f9b
fix tests and temporarily mute test
Tim-Brooks 28eafbb
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks c45c5ef
Fix tests
Tim-Brooks 2e8a026
Fix checkstyle
Tim-Brooks 630cfaa
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 3ee4743
Work on cleaning up
Tim-Brooks 293a572
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 2789d0d
Make connection methods required
Tim-Brooks 617521f
Work on tests
Tim-Brooks 76d429c
Fix tests
Tim-Brooks 8c26686
java doc
Tim-Brooks 071490a
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 44f6e1d
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 4c26165
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks 453b853
Merge remote-tracking branch 'upstream/master' into new_cm
Tim-Brooks d18be8c
Changes from review
Tim-Brooks f259bae
Changes docs
Tim-Brooks File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
49 changes: 49 additions & 0 deletions
49
server/src/main/java/org/elasticsearch/transport/CloseableConnection.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* Licensed to Elasticsearch under one or more contributor | ||
* license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright | ||
* ownership. Elasticsearch licenses this file to you under | ||
* the Apache License, Version 2.0 (the "License"); you may | ||
* not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, | ||
* software distributed under the License is distributed on an | ||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
* KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
||
package org.elasticsearch.transport; | ||
|
||
import org.elasticsearch.action.ActionListener; | ||
import org.elasticsearch.common.concurrent.CompletableContext; | ||
|
||
|
||
/** | ||
* Abstract Transport.Connection that provides common close logic. | ||
*/ | ||
public abstract class CloseableConnection implements Transport.Connection { | ||
|
||
private final CompletableContext<Void> closeContext = new CompletableContext<>(); | ||
|
||
@Override | ||
public void addCloseListener(ActionListener<Void> listener) { | ||
closeContext.addListener(ActionListener.toBiConsumer(listener)); | ||
} | ||
|
||
@Override | ||
public boolean isClosed() { | ||
return closeContext.isDone(); | ||
} | ||
|
||
@Override | ||
public void close() { | ||
// This method is safe to call multiple times as the close context will provide concurrency | ||
// protection and only be completed once. The attached listeners will only be notified once. | ||
closeContext.complete(null); | ||
} | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should protect from double closing here.