This is an automated email from the ASF dual-hosted git repository.
okram pushed a commit to branch tp4
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/tp4 by this push:
new 439cf53 try block Closeables for more efficient error handling and
socket closing.
439cf53 is described below
commit 439cf537f70fe29862da128e37cb70683e3d2abd
Author: Marko A. Rodriguez <[email protected]>
AuthorDate: Tue Mar 26 15:05:47 2019 -0600
try block Closeables for more efficient error handling and socket closing.
---
.../machine/species/remote/MachineServer.java | 27 +++++++++++-----------
.../machine/species/remote/TraverserServer.java | 4 +---
2 files changed, 14 insertions(+), 17 deletions(-)
diff --git
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/MachineServer.java
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/MachineServer.java
index e6d573c..28cf0bd 100644
---
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/MachineServer.java
+++
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/MachineServer.java
@@ -83,27 +83,26 @@ public final class MachineServer implements AutoCloseable {
}
public void run() {
- try {
- final ObjectInputStream input = new
ObjectInputStream(this.clientSocket.getInputStream());
- final ObjectOutputStream output = new
ObjectOutputStream(this.clientSocket.getOutputStream());
+ try (final ObjectInputStream input = new
ObjectInputStream(this.clientSocket.getInputStream());
+ final ObjectOutputStream output = new
ObjectOutputStream(this.clientSocket.getOutputStream())) {
while (true) {
final RemoteMachine.Request<Object> request =
(RemoteMachine.Request<Object>) input.readObject();
if (RemoteMachine.Request.Type.register == request.type) {
output.writeObject(MachineServer.this.machine.register(request.bytecode));
output.flush();
} else if (RemoteMachine.Request.Type.submit ==
request.type) {
- final Socket traverserServerSocket = new
Socket(request.traverserServerLocation, request.traverserServerPort);
- final ObjectOutputStream traverserOutput = new
ObjectOutputStream(traverserServerSocket.getOutputStream());
- final Iterator<Traverser<Object, Object>> iterator =
MachineServer.this.machine.submit(request.bytecode);
- int flushCounter = 0;
- while (iterator.hasNext()) {
- flushCounter++;
- traverserOutput.writeObject(iterator.next());
- if (0 == flushCounter % FLUSH_AMOUNT)
traverserOutput.flush();
+ try (final Socket traverserServerSocket = new
Socket(request.traverserServerLocation, request.traverserServerPort);
+ final ObjectOutputStream traverserOutput = new
ObjectOutputStream(traverserServerSocket.getOutputStream())) {
+ final Iterator<Traverser<Object, Object>> iterator
= MachineServer.this.machine.submit(request.bytecode);
+ int flushCounter = 0;
+ while (iterator.hasNext()) {
+ flushCounter++;
+ traverserOutput.writeObject(iterator.next());
+ if (0 == flushCounter % FLUSH_AMOUNT)
traverserOutput.flush();
+ }
+
traverserOutput.writeObject(EmptyTraverser.instance()); // this tells a
TraverserServer that there are no more traversers
+ traverserOutput.flush();
}
-
traverserOutput.writeObject(EmptyTraverser.instance()); // this tells a
TraverserServer that there are no more traversers
- traverserOutput.flush();
- traverserOutput.close();
} else { // Request.Type.close == request.type
MachineServer.this.machine.unregister(request.bytecode);
}
diff --git
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/TraverserServer.java
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/TraverserServer.java
index 6caecc5..d647f96 100644
---
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/TraverserServer.java
+++
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/species/remote/TraverserServer.java
@@ -97,8 +97,7 @@ public final class TraverserServer<C, S> implements
AutoCloseable, Iterator<Trav
}
public void run() {
- try {
- final ObjectInputStream input = new
ObjectInputStream(this.clientSocket.getInputStream());
+ try (final ObjectInputStream input = new
ObjectInputStream(this.clientSocket.getInputStream())) {
while (true) {
final Traverser<C, S> traverser = (Traverser<C, S>)
input.readObject();
if (traverser instanceof EmptyTraverser) { //
EmptyTraverser kills server
@@ -107,7 +106,6 @@ public final class TraverserServer<C, S> implements
AutoCloseable, Iterator<Trav
} else
TraverserServer.this.traverserSet.add(traverser);
}
- input.close();
} catch (final EOFException e) {
// okay -- this is how the worker closes
} catch (final IOException | ClassNotFoundException e) {