Repository: reef Updated Branches: refs/heads/master ceacf2032 -> 0e88ee423
[REEF-802] Fix medium-priority warnings reported by Findbugs, part 2 This change fixes or configures to be ignored meduim-priority bugs in all Java code and enforces medium-priority bugs to break the build. JIRA: [REEF-802](https://issues.apache.org/jira/browse/REEF-802) Pull request: This closes #761 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/0e88ee42 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/0e88ee42 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/0e88ee42 Branch: refs/heads/master Commit: 0e88ee4230e70f182a73d31aeafaf404424c2d0d Parents: ceacf20 Author: Mariia Mykhailova <[email protected]> Authored: Mon Jan 11 14:27:25 2016 -0800 Committer: Dongjoon Hyun <[email protected]> Committed: Tue Jan 12 13:57:03 2016 -0800 ---------------------------------------------------------------------- .../org/apache/reef/client/DriverLauncher.java | 12 +++-- .../ConfigurableDirectoryTempFileCreator.java | 4 +- .../io/WorkingDirectoryTempFileCreator.java | 4 +- .../reef/runtime/common/files/JobJarMaker.java | 12 ++--- .../java/org/apache/reef/util/JARFileMaker.java | 14 ++++-- .../main/java/org/apache/reef/util/OSUtils.java | 8 +++- .../src/main/resources/findbugs-exclude.xml | 46 ++++++++++++++++++++ .../io/data/loading/impl/NumberedSplit.java | 18 ++++++++ .../output/TaskOutputStreamProviderLocal.java | 7 ++- .../impl/task/GroupCommNetworkHandlerImpl.java | 13 +++--- .../impl/task/OperatorTopologyStructImpl.java | 2 +- .../group/impl/utils/ScatterDecoder.java | 11 ++++- .../impl/NetworkConnectionServiceMessage.java | 2 +- .../NetworkConnectionServiceMessageCodec.java | 7 ++- .../reef/io/network/naming/NameClient.java | 9 +++- .../io/network/naming/NameLookupClient.java | 5 ++- .../io/network/naming/NameRegistryClient.java | 5 ++- .../apache/reef/io/watcher/FileEventStream.java | 12 +++-- .../client/yarnrest/AmContainerSpec.java | 2 +- .../client/yarnrest/ApplicationID.java | 2 +- .../client/yarnrest/ApplicationResponse.java | 2 +- .../client/yarnrest/ApplicationState.java | 2 +- .../client/yarnrest/ApplicationSubmission.java | 2 +- .../hdinsight/client/yarnrest/Commands.java | 2 +- .../hdinsight/client/yarnrest/Credentials.java | 2 +- .../yarnrest/ListApplicationResponse.java | 2 +- .../client/yarnrest/LocalResource.java | 2 +- .../client/yarnrest/LocalResourcesEntry.java | 2 +- .../hdinsight/client/yarnrest/Resource.java | 2 +- .../hdinsight/client/yarnrest/StringEntry.java | 2 +- .../wake/examples/accumulate/CombinerStage.java | 18 ++++++++ .../reef/wake/examples/join/TupleEvent.java | 25 +++++++++++ pom.xml | 2 +- 33 files changed, 211 insertions(+), 49 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/client/DriverLauncher.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/client/DriverLauncher.java b/lang/java/reef-common/src/main/java/org/apache/reef/client/DriverLauncher.java index 55bc1ad..b10aacb 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/client/DriverLauncher.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/client/DriverLauncher.java @@ -112,7 +112,9 @@ public final class DriverLauncher { } } this.reef.close(); - return this.status; + synchronized (this) { + return this.status; + } } /** @@ -145,14 +147,18 @@ public final class DriverLauncher { } this.reef.close(); - return this.status; + synchronized (this) { + return this.status; + } } /** * @return the current status of the job. */ public LauncherStatus getStatus() { - return this.status; + synchronized (this) { + return this.status; + } } /** http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/io/ConfigurableDirectoryTempFileCreator.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/io/ConfigurableDirectoryTempFileCreator.java b/lang/java/reef-common/src/main/java/org/apache/reef/io/ConfigurableDirectoryTempFileCreator.java index 61bc6f4..9d9b439 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/io/ConfigurableDirectoryTempFileCreator.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/io/ConfigurableDirectoryTempFileCreator.java @@ -44,7 +44,9 @@ public final class ConfigurableDirectoryTempFileCreator implements TempFileCreat ConfigurableDirectoryTempFileCreator( @Parameter(TempFileRootFolder.class) final String rootFolder) throws IOException { this.tempFolderAsFile = new File(rootFolder); - this.tempFolderAsFile.mkdirs(); + if (!this.tempFolderAsFile.exists() && !this.tempFolderAsFile.mkdirs()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", this.tempFolderAsFile.getAbsolutePath()); + } this.tempFolderAsPath = this.tempFolderAsFile.toPath(); LOG.log(Level.FINE, "Temporary files and folders will be created in [{0}]", this.tempFolderAsFile.getAbsolutePath()); http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/io/WorkingDirectoryTempFileCreator.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/io/WorkingDirectoryTempFileCreator.java b/lang/java/reef-common/src/main/java/org/apache/reef/io/WorkingDirectoryTempFileCreator.java index 9367a39..120b120 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/io/WorkingDirectoryTempFileCreator.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/io/WorkingDirectoryTempFileCreator.java @@ -41,7 +41,9 @@ public final class WorkingDirectoryTempFileCreator implements TempFileCreator { @Inject WorkingDirectoryTempFileCreator() throws IOException { this.tempFolderAsFile = new File("./reef/temp"); - this.tempFolderAsFile.mkdirs(); + if (!this.tempFolderAsFile.exists() && !this.tempFolderAsFile.mkdirs()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", this.tempFolderAsFile.getAbsolutePath()); + } this.tempFolderAsPath = this.tempFolderAsFile.toPath(); LOG.log(Level.FINE, "Temporary files and folders will be created in [{0}]", this.tempFolderAsFile.getAbsolutePath()); http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/files/JobJarMaker.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/files/JobJarMaker.java b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/files/JobJarMaker.java index 8dcc69a..6b45f0d 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/files/JobJarMaker.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/files/JobJarMaker.java @@ -60,8 +60,8 @@ public final class JobJarMaker { public static void copy(final Iterable<FileResource> files, final File destinationFolder) { - if (!destinationFolder.exists()) { - destinationFolder.mkdirs(); + if (!destinationFolder.exists() && !destinationFolder.mkdirs()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", destinationFolder.getAbsolutePath()); } for (final FileResource fileProto : files) { @@ -103,8 +103,8 @@ public final class JobJarMaker { final File localFolder = new File(jobSubmissionFolder, this.fileNames.getLocalFolderName()); final File globalFolder = new File(jobSubmissionFolder, this.fileNames.getGlobalFolderName()); - this.copy(jobSubmissionEvent.getGlobalFileSet(), globalFolder); - this.copy(jobSubmissionEvent.getLocalFileSet(), localFolder); + copy(jobSubmissionEvent.getGlobalFileSet(), globalFolder); + copy(jobSubmissionEvent.getLocalFileSet(), localFolder); // Store the Driver Configuration in the JAR file. this.configurationSerializer.toFile( @@ -120,7 +120,9 @@ public final class JobJarMaker { LOG.log(Level.FINE, "Deleting the temporary job folder [{0}] and marking the jar file [{1}] for deletion after the JVM exits.", new Object[]{jobSubmissionFolder.getAbsolutePath(), jarFile.getAbsolutePath()}); - jobSubmissionFolder.delete(); + if (!jobSubmissionFolder.delete()) { + LOG.log(Level.WARNING, "Failed to delete [{0}]", jobSubmissionFolder.getAbsolutePath()); + } jarFile.deleteOnExit(); } else { LOG.log(Level.FINE, "Keeping the temporary job folder [{0}] and jar file [{1}] available after job submission.", http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/util/JARFileMaker.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/util/JARFileMaker.java b/lang/java/reef-common/src/main/java/org/apache/reef/util/JARFileMaker.java index 6fa88bf..418c880 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/util/JARFileMaker.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/util/JARFileMaker.java @@ -62,8 +62,11 @@ public class JARFileMaker implements AutoCloseable { entry.setTime(inputFile.lastModified()); this.jarOutputStream.putNextEntry(entry); this.jarOutputStream.closeEntry(); - for (final File nestedFile : inputFile.listFiles()) { - add(nestedFile); + final File[] files = inputFile.listFiles(); + if (files != null) { + for (final File nestedFile : files) { + add(nestedFile); + } } return this; } @@ -82,8 +85,11 @@ public class JARFileMaker implements AutoCloseable { public JARFileMaker addChildren(final File folder) throws IOException { this.relativeStartCanonicalPath = folder.getCanonicalPath(); - for (final File f : folder.listFiles()) { - this.add(f); + final File[] files = folder.listFiles(); + if (files != null) { + for (final File f : files) { + this.add(f); + } } this.relativeStartCanonicalPath = null; return this; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java b/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java index 8890f88..25e6531 100644 --- a/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java +++ b/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java @@ -78,7 +78,9 @@ public final class OSUtils { .command("bash", "-c", "echo $PPID") .start(); final byte[] returnBytes = new byte[128]; - process.getInputStream().read(returnBytes); + if (process.getInputStream().read(returnBytes) == -1) { + LOG.log(Level.FINE, "No data read because end of stream was reached"); + } final Long result = Long.valueOf(new String(returnBytes, StandardCharsets.UTF_8).trim()); process.destroy(); return result; @@ -93,7 +95,9 @@ public final class OSUtils { "wmic process where processid=$pid get parentprocessid") .start(); final byte[] returnBytes = new byte[128]; - process.getInputStream().read(returnBytes); + if (process.getInputStream().read(returnBytes) == -1) { + LOG.log(Level.FINE, "No data read because end of stream was reached"); + } final Long result = Long.valueOf(new String(returnBytes, StandardCharsets.UTF_8).split("\n")[1].trim()); process.destroy(); return result; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-common/src/main/resources/findbugs-exclude.xml ---------------------------------------------------------------------- diff --git a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml index f7888d9..b69df5f 100644 --- a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml +++ b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml @@ -99,5 +99,51 @@ <Class name="~org\.apache\.reef\.tang\.util\.AbstractMonotonicMultiMap.*" /> <Bug code="NP" /> </Match> + <Match> + <!-- TODO: reconsider calling System.exit(...) --> + <Class name="org.apache.reef.runtime.common.launch.REEFUncaughtExceptionHandler" /> + <Bug pattern="DM_EXIT" /> + </Match> + <Match> + <Class name="org.apache.reef.runtime.common.client.api.JobSubmissionEventImpl$Builder" /> + <Bug pattern="UWF_UNWRITTEN_FIELD" /> + </Match> + <Match> + <Class name="org.apache.reef.runtime.common.driver.resourcemanager.ResourceStatusEventImpl$Builder" /> + <Bug pattern="URF_UNREAD_FIELD" /> + </Match> + <Match> + <Class name="org.apache.reef.io.network.impl.NetworkConnectionServiceMessage" /> + <Bug pattern="URF_UNREAD_FIELD" /> + </Match> + <Match> + <Class name="org.apache.reef.io.network.util.Utils$AddressComparator" /> + <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" /> + </Match> + <Match> + <Class name="org.apache.reef.io.data.loading.impl.AbstractEvaluatorToPartitionStrategy" /> + <Bug pattern="JLM_JSR166_UTILCONCURRENT_MONITORENTER" /> + </Match> + <Match> + <Class name="~org\.apache\.reef\.wake\..*" /> + <Bug pattern="JLM_JSR166_UTILCONCURRENT_MONITORENTER" /> + </Match> + <Match> + <!-- example code, won't be subclassed --> + <Class name="org.apache.reef.wake.examples.join.TupleSource" /> + <Bug pattern="SC_START_IN_CTOR" /> + </Match> + <Match> + <Class name="org.apache.reef.wake.remote.address.LegacyLocalAddressProvider$AddressComparator" /> + <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" /> + </Match> + <Match> + <Class name="org.apache.reef.wake.remote.impl.RemoteEventComparator" /> + <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" /> + </Match> + <Match> + <Class name="org.apache.reef.wake.time.runtime.RuntimeClock" /> + <Bug pattern="REC_CATCH_EXCEPTION" /> + </Match> </FindBugsFilter> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/impl/NumberedSplit.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/impl/NumberedSplit.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/impl/NumberedSplit.java index cfbcfe1..8e5896d 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/impl/NumberedSplit.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/impl/NumberedSplit.java @@ -62,6 +62,24 @@ public final class NumberedSplit<E> implements Comparable<NumberedSplit<E>> { } @Override + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + NumberedSplit<?> that = (NumberedSplit<?>) o; + return index == that.index; + } + + @Override + public int hashCode() { + return index; + } + + @Override public int compareTo(final NumberedSplit<E> o) { if (this.index == o.index) { return 0; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/data/output/TaskOutputStreamProviderLocal.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/output/TaskOutputStreamProviderLocal.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/output/TaskOutputStreamProviderLocal.java index f3afb89..f44b126 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/output/TaskOutputStreamProviderLocal.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/output/TaskOutputStreamProviderLocal.java @@ -25,12 +25,15 @@ import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Implementation of {@link TaskOutputStreamProvider}. * It provides FileOutputStreams on the local file system. */ public final class TaskOutputStreamProviderLocal extends TaskOutputStreamProvider { + private static final Logger LOG = Logger.getLogger(TaskOutputStreamProviderLocal.class.getName()); /** * Path of the output directory on the local disk to write outputs. @@ -63,8 +66,8 @@ public final class TaskOutputStreamProviderLocal extends TaskOutputStreamProvide final File directory = new File(directoryPath); synchronized (TaskOutputStreamProviderLocal.class) { - if (!directory.exists()) { - directory.mkdirs(); + if (!directory.exists() && !directory.mkdirs()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", directory.getAbsolutePath()); } } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/GroupCommNetworkHandlerImpl.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/GroupCommNetworkHandlerImpl.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/GroupCommNetworkHandlerImpl.java index e018832..43a21a1 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/GroupCommNetworkHandlerImpl.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/GroupCommNetworkHandlerImpl.java @@ -47,11 +47,14 @@ public class GroupCommNetworkHandlerImpl implements GroupCommNetworkHandler { LOG.entering("GroupCommNetworkHandlerImpl", "onNext", mesg); final Iterator<GroupCommunicationMessage> iter = mesg.getData().iterator(); final GroupCommunicationMessage msg = iter.hasNext() ? iter.next() : null; - try { - final Class<? extends Name<String>> groupName = (Class<? extends Name<String>>) Class.forName(msg.getGroupname()); - commGroupHandlers.get(groupName).onNext(msg); - } catch (final ClassNotFoundException e) { - throw new RuntimeException("GroupName not found", e); + if (msg != null) { + try { + final Class<? extends Name<String>> groupName = + (Class<? extends Name<String>>) Class.forName(msg.getGroupname()); + commGroupHandlers.get(groupName).onNext(msg); + } catch (final ClassNotFoundException e) { + throw new RuntimeException("GroupName not found", e); + } } LOG.exiting("GroupCommNetworkHandlerImpl", "onNext", mesg); } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/OperatorTopologyStructImpl.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/OperatorTopologyStructImpl.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/OperatorTopologyStructImpl.java index ff2f45c..b109485 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/OperatorTopologyStructImpl.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/task/OperatorTopologyStructImpl.java @@ -429,7 +429,7 @@ public class OperatorTopologyStructImpl implements OperatorTopologyStruct { LOG.warning(getQualifiedName() + "Got dead msg when no node existed. OOS Queuing up for add to handle"); addToDeadMsgs(msgSrcId, msgSrcVersion); LOG.exiting("OperatorTopologyStructImpl", "addedToDeadMsgs", - Arrays.toString(new Object[]{true, getQualifiedName(), node, msgSrcId, msgSrcVersion})); + Arrays.toString(new Object[]{true, getQualifiedName(), null, msgSrcId, msgSrcVersion})); return true; } final int nodeVersion = node.getVersion(); http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/utils/ScatterDecoder.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/utils/ScatterDecoder.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/utils/ScatterDecoder.java index c751dfb..4c01608 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/utils/ScatterDecoder.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/group/impl/utils/ScatterDecoder.java @@ -26,11 +26,14 @@ import java.io.DataInputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Decode messages that was created by {@code ScatterEncoder}. */ public final class ScatterDecoder implements Decoder<ScatterData> { + private static final Logger LOG = Logger.getLogger(ScatterDecoder.class.getName()); @Inject ScatterDecoder() { @@ -45,7 +48,9 @@ public final class ScatterDecoder implements Decoder<ScatterData> { for (int index = 0; index < elementCount; index++) { final int encodedElementLength = dstream.readInt(); myData[index] = new byte[encodedElementLength]; - dstream.read(myData[index]); + if (dstream.read(myData[index]) == -1) { + LOG.log(Level.FINE, "No data read because end of stream was reached"); + } } // and then read the data intended for my children @@ -53,7 +58,9 @@ public final class ScatterDecoder implements Decoder<ScatterData> { while (dstream.available() > 0) { final String childId = dstream.readUTF(); final byte[] childData = new byte[dstream.readInt()]; - dstream.read(childData); + if (dstream.read(childData) == -1) { + LOG.log(Level.FINE, "No data read because end of stream was reached"); + } childDataMap.put(childId, childData); } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessage.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessage.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessage.java index 854e1c7..a81a213 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessage.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessage.java @@ -107,7 +107,7 @@ final class NetworkConnectionServiceMessage<T> implements Message<T> { builder.append(destId); builder.append(" message=[| "); for (final T message : messages) { - builder.append(message + " |"); + builder.append(message).append(" |"); } builder.append("]"); return builder.toString(); http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessageCodec.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessageCodec.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessageCodec.java index bdccff2..c85ebc7 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessageCodec.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/impl/NetworkConnectionServiceMessageCodec.java @@ -28,12 +28,15 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import java.util.logging.Level; +import java.util.logging.Logger; /** * DefaultNetworkMessageCodec implementation. * This codec encodes/decodes NetworkConnectionServiceMessageImpl according to the type <T>. */ final class NetworkConnectionServiceMessageCodec implements Codec<NetworkConnectionServiceMessage> { + private static final Logger LOG = Logger.getLogger(NetworkConnectionServiceMessageCodec.class.getName()); private final IdentifierFactory factory; /** @@ -126,7 +129,9 @@ final class NetworkConnectionServiceMessageCodec implements Codec<NetworkConnect for (int i = 0; i < size; i++) { final int byteSize = dais.readInt(); final byte[] bytes = new byte[byteSize]; - dais.read(bytes); + if (dais.read(bytes) == -1) { + LOG.log(Level.FINE, "No data read because end of stream was reached"); + } list.add(codec.decode(bytes)); } } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java index c7cdec9..e115873 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java @@ -185,6 +185,7 @@ class NamingClientEventHandler implements EventHandler<TransportEvent> { * Naming response message handler. */ class NamingResponseHandler implements EventHandler<NamingMessage> { + private static final Logger LOG = Logger.getLogger(NamingResponseHandler.class.getName()); private final BlockingQueue<NamingLookupResponse> replyLookupQueue; private final BlockingQueue<NamingRegisterResponse> replyRegisterQueue; @@ -198,9 +199,13 @@ class NamingResponseHandler implements EventHandler<NamingMessage> { @Override public void onNext(final NamingMessage value) { if (value instanceof NamingLookupResponse) { - replyLookupQueue.offer((NamingLookupResponse) value); + if (!replyLookupQueue.offer((NamingLookupResponse) value)) { + LOG.log(Level.FINEST, "Element {0} was not added to the queue", value); + } } else if (value instanceof NamingRegisterResponse) { - replyRegisterQueue.offer((NamingRegisterResponse) value); + if (!replyRegisterQueue.offer((NamingRegisterResponse) value)) { + LOG.log(Level.FINEST, "Element {0} was not added to the queue", value); + } } else { throw new NamingRuntimeException("Unknown naming response message"); } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java index 6105ce1..f85bb88 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java @@ -336,6 +336,7 @@ class NamingLookupClientHandler implements EventHandler<TransportEvent> { * Naming lookup response handler. */ class NamingLookupResponseHandler implements EventHandler<NamingLookupResponse> { + private static final Logger LOG = Logger.getLogger(NamingLookupResponseHandler.class.getName()); private final BlockingQueue<NamingLookupResponse> replyQueue; @@ -345,6 +346,8 @@ class NamingLookupResponseHandler implements EventHandler<NamingLookupResponse> @Override public void onNext(final NamingLookupResponse value) { - replyQueue.offer(value); + if (!replyQueue.offer(value)) { + LOG.log(Level.FINEST, "Element {0} was not added to the queue", value); + } } } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java index 7dee0a3..a3de2b6 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java @@ -197,6 +197,7 @@ class NamingRegistryClientHandler implements EventHandler<TransportEvent> { * Naming register response handler. */ class NamingRegistryResponseHandler implements EventHandler<NamingRegisterResponse> { + private static final Logger LOG = Logger.getLogger(NamingRegistryResponseHandler.class.getName()); private final BlockingQueue<NamingRegisterResponse> replyQueue; @@ -206,6 +207,8 @@ class NamingRegistryResponseHandler implements EventHandler<NamingRegisterRespon @Override public void onNext(final NamingRegisterResponse value) { - replyQueue.offer(value); + if (!replyQueue.offer(value)) { + LOG.log(Level.FINEST, "Element {0} was not added to the queue", value); + } } } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-io/src/main/java/org/apache/reef/io/watcher/FileEventStream.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/watcher/FileEventStream.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/watcher/FileEventStream.java index e50691a..a05f427 100644 --- a/lang/java/reef-io/src/main/java/org/apache/reef/io/watcher/FileEventStream.java +++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/watcher/FileEventStream.java @@ -35,12 +35,15 @@ import java.nio.charset.Charset; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Write events to a file in the root directory of the driver. */ @Unstable public final class FileEventStream implements EventStream { + private static final Logger LOG = Logger.getLogger(FileEventStream.class.getName()); private final DateFormat dateFormat; private final PrintWriter printWriter; @@ -63,11 +66,12 @@ public final class FileEventStream implements EventStream { private File createFileWithPath(final String path) throws Exception { final File file = new File(path); final File parent = file.getParentFile(); - if (parent != null && !parent.exists()){ - parent.mkdirs(); + if (parent != null && !parent.exists() && !parent.mkdirs()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", parent.getAbsolutePath()); + } + if (!file.exists() && !file.createNewFile()) { + LOG.log(Level.WARNING, "Failed to create [{0}]", file.getAbsolutePath()); } - - file.createNewFile(); return file; } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/AmContainerSpec.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/AmContainerSpec.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/AmContainerSpec.java index 9c743dc..7a9bb7b 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/AmContainerSpec.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/AmContainerSpec.java @@ -167,7 +167,7 @@ public final class AmContainerSpec { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing AmContainerSpec: " + e); } return AM_CONTAINER_SPEC + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationID.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationID.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationID.java index a14c7ee..916f0d1 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationID.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationID.java @@ -65,7 +65,7 @@ public final class ApplicationID { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing ApplicationID: " + e); } return APPLICATION_ID + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationResponse.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationResponse.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationResponse.java index bde2aab..540d2ea 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationResponse.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationResponse.java @@ -60,7 +60,7 @@ public final class ApplicationResponse { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing ApplicationResponse: " + e); } return APPLICATION_RESPONSE + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationState.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationState.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationState.java index 7e9e1db..417695d 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationState.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationState.java @@ -268,7 +268,7 @@ public final class ApplicationState { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing ApplicationState: " + e); } return APPLICATION_STATE + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationSubmission.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationSubmission.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationSubmission.java index 0ea4a06..26d58a6 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationSubmission.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ApplicationSubmission.java @@ -187,7 +187,7 @@ public final class ApplicationSubmission { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing ApplicationSubmission: " + e); } return APPLICATION_SUBMISSION + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Commands.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Commands.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Commands.java index e250ba7..afb9fc1 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Commands.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Commands.java @@ -58,7 +58,7 @@ public final class Commands { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing Commands: " + e); } return COMMANDS + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Credentials.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Credentials.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Credentials.java index 3962670..01fb056 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Credentials.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Credentials.java @@ -93,7 +93,7 @@ public class Credentials { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing Credentials: " + e); } return CREDENTIALS + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ListApplicationResponse.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ListApplicationResponse.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ListApplicationResponse.java index 2e853f0..cb8c522 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ListApplicationResponse.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/ListApplicationResponse.java @@ -65,7 +65,7 @@ public final class ListApplicationResponse { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing ListApplicationResponse: " + e); } return LIST_APPLICATION_RESPONSE + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResource.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResource.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResource.java index 30ca19f..f4f5a3d 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResource.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResource.java @@ -105,7 +105,7 @@ public final class LocalResource { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing LocalResource: " + e); } return LOCAL_RESOURCE + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResourcesEntry.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResourcesEntry.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResourcesEntry.java index c980a9d..94ae5db 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResourcesEntry.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/LocalResourcesEntry.java @@ -72,7 +72,7 @@ public final class LocalResourcesEntry { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing LocalResourcesEntry: " + e); } return LOCAL_RESOURCES_ENTRY + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Resource.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Resource.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Resource.java index 92c7dc2..7999e4a 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Resource.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/Resource.java @@ -64,7 +64,7 @@ public final class Resource { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing Resource: " + e); } return RESOURCE + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/StringEntry.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/StringEntry.java b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/StringEntry.java index 80a5d85..f7c6502 100644 --- a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/StringEntry.java +++ b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/client/yarnrest/StringEntry.java @@ -68,7 +68,7 @@ public final class StringEntry { OBJECT_MAPPER.writeValue(writer, this); objectString = writer.toString(); } catch (final IOException e) { - return null; + throw new RuntimeException("Exception while serializing Resource: " + e); } return STRING_ENTRY + objectString; http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/accumulate/CombinerStage.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/accumulate/CombinerStage.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/accumulate/CombinerStage.java index 95311b7..e32711f 100644 --- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/accumulate/CombinerStage.java +++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/accumulate/CombinerStage.java @@ -119,6 +119,24 @@ public class CombinerStage<K extends Comparable<K>, V> implements Stage { } @Override + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + Pair<K, V> pair = (Pair<K, V>) o; + return k.compareTo(pair.getKey()) == 0; + } + + @Override + public int hashCode() { + return k.hashCode(); + } + + @Override public int compareTo(final Map.Entry<K, V> arg0) { return k.compareTo(arg0.getKey()); } http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/join/TupleEvent.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/join/TupleEvent.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/join/TupleEvent.java index 78acea0..e7af984 100644 --- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/join/TupleEvent.java +++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/examples/join/TupleEvent.java @@ -31,6 +31,31 @@ public class TupleEvent implements Comparable<TupleEvent> { } @Override + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + TupleEvent that = (TupleEvent) o; + + if (key != that.key) { + return false; + } + return val != null ? val.equals(that.val) : that.val == null; + + } + + @Override + public int hashCode() { + int result = key; + result = 31 * result + (val != null ? val.hashCode() : 0); + return result; + } + + @Override public int compareTo(final TupleEvent o) { final int keycmp = Integer.compare(key, o.key); if (keycmp != 0) { http://git-wip-us.apache.org/repos/asf/reef/blob/0e88ee42/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 7f0bf9e..0b70d55 100644 --- a/pom.xml +++ b/pom.xml @@ -337,7 +337,7 @@ under the License. <version>${findbugs.version}</version> <configuration> <effort>Max</effort> - <threshold>High</threshold> + <threshold>Default</threshold> <failOnError>true</failOnError> <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory> <excludeFilterFile>${rootPath}/lang/java/reef-common/src/main/resources/findbugs-exclude.xml</excludeFilterFile>
