[
https://issues.apache.org/jira/browse/HADOOP-3455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602911#action_12602911
]
Hadoop QA commented on HADOOP-3455:
-----------------------------------
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12383509/ipcClient1.patch
against trunk revision 663812.
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 3 new or modified tests.
+1 javadoc. The javadoc tool did not generate any warning messages.
+1 javac. The applied patch does not increase the total number of javac
compiler warnings.
+1 findbugs. The patch does not introduce any new Findbugs warnings.
+1 release audit. The applied patch does not increase the total number of
release audit warnings.
-1 core tests. The patch failed core unit tests.
+1 contrib tests. The patch passed contrib unit tests.
Test results:
http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2599/testReport/
Findbugs warnings:
http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2599/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results:
http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2599/artifact/trunk/build/test/checkstyle-errors.html
Console output:
http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2599/console
This message is automatically generated.
> IPC.Client synchronisation looks weak
> -------------------------------------
>
> Key: HADOOP-3455
> URL: https://issues.apache.org/jira/browse/HADOOP-3455
> Project: Hadoop Core
> Issue Type: Improvement
> Components: ipc
> Affects Versions: 0.18.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Attachments: hadoop-3455-updated.patch, hadoop-3455.patch,
> ipcClient.patch, ipcClient1.patch
>
>
> Looking at HADOOP-3453 , its clear that Client.java is inconsistently
> synchronized
> 1. the running and shouldCloseConnection flags are not always read/written in
> synchronized blocks, even though they are properties used to share
> information between threads. They should be marked as volatile for access
> outside synchronized blocks, and all read-check-update operations must be
> synchronized.
> 2. there are multiple calls to System.currentTimeMillis() in synchronized
> blocks; this is a slow native operation and should ideally be done
> unsynchronized.
> 3. Synchronizing on the (out) stream is dangerous as its value changes during
> the life of the class, and sometimes it is null. These blocks should all
> synchronize on the Client instead.
> 4. There are a number of places where InterruptedExceptions are caught and
> ignored in a sleep-wait loop:
> } catch (InterruptedException e) {
> }
> This isn't dangerous, but it does make the client harder to stop. These
> code fragments should be looked at carefully.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.