[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-17 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15673492#comment-15673492
 ] 

Hudson commented on HBASE-17085:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #1968 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/1968/])
HBASE-17085 AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync (zhangduo: rev 
ab55bad89995c5c34ab0e57e6d5fb9b6b799dfb0)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSyncFuture.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SyncFuture.java


> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-16 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15672782#comment-15672782
 ] 

stack commented on HBASE-17085:
---

+1

Did a quick pass.

Don't forget to undo this:

defaultProvider(FSHLogProvider.class),  77  
defaultProvider(AsyncFSWALProvider.class),



> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-16 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15672449#comment-15672449
 ] 

Duo Zhang commented on HBASE-17085:
---

Let's fix this issue first? [~stack] [~ram_krish].
I will try other methods to aggregate more syncs after this(limit concurrent 
syncs, add a delay before issuing sync, etc.). Thanks.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-16 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15669898#comment-15669898
 ] 

Duo Zhang commented on HBASE-17085:
---

For me it does not make any difference... What's the batch size you use?

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-16 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15669853#comment-15669853
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


When I changed the wALPE config I could see that AsyncWAL with this patch 
applied performs atleast 2K ops/sec more than the default size.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15669567#comment-15669567
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


I thought it is only used in tests and not any where else. When I grepped I 
found that only. Let me check your patch now.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15669456#comment-15669456
 ] 

Duo Zhang commented on HBASE-17085:
---

Yeah I mean the sync method without txid. It is also called at many places so 
we need to consider it. Your patch may cause infinite wait when sync() is 
called.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15669360#comment-15669360
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


My thing was based on the fact that since we call sync(txid), it is sure that 
when a sync call comes with txid 2 then surely we will have a append with txid 
2. So that is when the sync will be called. I tested that with PE tool and 
things worked fine for me. So do you think of the case where sync() is called 
without txid?  May be I did not test that case as PE actual case is with 
sync(txid). It can atleast reduce in the number of sync calls.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15668746#comment-15668746
 ] 

Duo Zhang commented on HBASE-17085:
---

In HBASE-16890 it is 463/272=1.70 and here it is 613/386=1.59. So I think it 
helps a little?

And see my latest comment in HBASE-17049, the sync count metrics of FSHLog and 
AsyncFSWAL can not be compared directly.

Anyway, I will keep trying other methods to aggregate more syncs.

Thanks [~stack].

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15668744#comment-15668744
 ] 

Duo Zhang commented on HBASE-17085:
---

In HBASE-16890 it is 463/272=1.70 and here it is 613/386=1.59. So I think it 
helps a little?

And see my latest comment in HBASE-17049, the sync count metrics of FSHLog and 
AsyncFSWAL can not be compared directly.

Anyway, I will keep trying other methods to aggregate more syncs.

Thanks [~stack].

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15668360#comment-15668360
 ] 

stack commented on HBASE-17085:
---

Default:

{code}
...
(Hard to copy in histograms because they were logged over..)
...
7555417 2016-11-15 12:14:25,321 INFO  [main] wal.WALPerformanceEvaluation: 
Summary: threads=100, iterations=10, syncInterval=0 took 382.163s 
26166.846ops/s
7555418 2016-11-15 12:14:25,321 DEBUG [main] regionserver.HRegion: Closing 
WALPerformanceEvaluation:0,,1479240482214.23f202a47ef65215f3d85a5fe08ce8e3.: 
disabling compactions & flushes
7555419 2016-11-15 12:14:25,322 DEBUG [main] regionserver.HRegion: Updates 
disabled for region 
WALPerformanceEvaluation:0,,1479240482214.23f202a47ef65215f3d85a5fe08ce8e3.
7555420 2016-11-15 12:14:25,326 INFO  
[StoreCloserThread-WALPerformanceEvaluation:0,,1479240482214.23f202a47ef65215f3d85a5fe08ce8e3.-1]
 regionserver.HStore: Closed cf0
7555421 2016-11-15 12:14:25,326 INFO  [main] regionserver.HRegion: Closed 
WALPerformanceEvaluation:0,,1479240482214.23f202a47ef65215f3d85a5fe08ce8e3.
7555422 2016-11-15 12:14:25,328 DEBUG [main] wal.FSHLog: Closing WAL writer in 
/user/stack/test-data/300d7166-b729-47da-965d-936ec5f7bb43/WALPerformanceEvaluation/WALs/wals
7555423 2016-11-15 12:14:25,328 DEBUG [main] hdfs.DFSClient: DFSClient 
writeChunk allocating new packet seqno=1260314, 
src=/user/stack/test-data/300d7166-b729-47da-965d-936ec5f7bb43/WALPerformanceEvaluation/WALs/wals/wals.1479240483655,
 packetSize=65016, chunksPerPacket=126, bytesCurBlock=16408064
7555424 2016-11-15 12:14:25,328 DEBUG [main] hdfs.DFSClient: Queued packet 
1260314
7555425 2016-11-15 12:14:25,328 DEBUG [main] hdfs.DFSClient: Queued packet 
1260315
7555426 2016-11-15 12:14:25,328 DEBUG [main] hdfs.DFSClient: Waiting for ack 
for: 1260315
7555427 2016-11-15 12:14:25,328 DEBUG [DataStreamer for file 
/user/stack/test-data/300d7166-b729-47da-965d-936ec5f7bb43/WALPerformanceEvaluation/WALs/wals/wals.1479240483655
 block BP-1837290273-10.17.240.20-1458945429978:blk_1077044408_3304141] 
hdfs.DFSClient: DataStreamer block BP-18372902
73-10.17.240.20-1458945429978:blk_1077044408_3304141 sending packet packet 
seqno: 1260314 offsetInBlock: 16408064 lastPacketInBlock: false 
lastByteOffsetInBlock: 16408265
7555428 2016-11-15 12:14:25,329 DEBUG [ResponseProcessor for block 
BP-1837290273-10.17.240.20-1458945429978:blk_1077044408_3304141] 
hdfs.DFSClient: DFSClient seqno: 1260314 reply: SUCCESS downstreamAckTimeNanos: 
0 flag: 0
7555429 2016-11-15 12:14:25,329 DEBUG [DataStreamer for file 
/user/stack/test-data/300d7166-b729-47da-965d-936ec5f7bb43/WALPerformanceEvaluation/WALs/wals/wals.1479240483655
 block BP-1837290273-10.17.240.20-1458945429978:blk_1077044408_3304141] 
hdfs.DFSClient: DataStreamer block BP-18372902
73-10.17.240.20-1458945429978:blk_1077044408_3304141 sending packet packet 
seqno: 1260315 offsetInBlock: 16408265 lastPacketInBlock: true 
lastByteOffsetInBlock: 16408265
7555430 2016-11-15 12:14:25,329 DEBUG [ResponseProcessor for block 
BP-1837290273-10.17.240.20-1458945429978:blk_1077044408_3304141] 
hdfs.DFSClient: DFSClient seqno: 1260315 reply: SUCCESS downstreamAckTimeNanos: 
0 flag: 0
7555431 2016-11-15 12:14:25,329 DEBUG [DataStreamer for file 
/user/stack/test-data/300d7166-b729-47da-965d-936ec5f7bb43/WALPerformanceEvaluation/WALs/wals/wals.1479240483655
 block BP-1837290273-10.17.240.20-1458945429978:blk_1077044408_3304141] 
hdfs.DFSClient: Closing old block BP-183729027
3-10.17.240.20-1458945429978:blk_1077044408_3304141
7555432 2016-11-15 12:14:25,344 INFO  [main] hbase.MockRegionServerServices: 
Shutting down due to request 'test clean up.'
7555433 2016-11-15 12:14:25,344 INFO  [main] wal.WALPerformanceEvaluation: 
shutting down log roller.
7555434 2016-11-15 12:14:25,345 INFO  [WALPerfEval.logRoller] 
regionserver.LogRoller: LogRoller exiting.
7555435
7555436  Performance counter stats for './hbase/bin/hbase --config 
/home/stack/conf_hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation 
-threads 100 -iterations 10 -qualifiers 25 -keySize 50 -valueSize 200':
7555437
7555438 4987370.861017 task-clock (msec) #   12.922 CPUs utilized
7555439 18,957,350 context-switches  #0.004 M/sec
7555440  2,815,124 cpu-migrations#0.564 K/sec
7555441 10,054,046 page-faults   #0.002 M/sec
7555442  9,934,495,287,070 cycles#1.992 GHz
7555443 stalled-cycles-frontend
7555444 stalled-cycles-backend
7555445  3,796,677,865,651 instructions  #0.38  insns per cycle
7555446608,865,750,776 branches  #  122.082 M/sec
7555447  7,478,401,535 branch-misses #1.23% of all branches
7555448
7555449  385.959774164 seconds time elapsed
{code}

With patch:
{code}

36055
36056 -- Histograms 

[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15667276#comment-15667276
 ] 

Hadoop QA commented on HBASE-17085:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 14s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
1s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
43s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
56s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
50s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 37s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 37s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
14s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
27m 20s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 98m 27s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
16s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 138m 15s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.regionserver.TestHRegionWithInMemoryFlush |
|   | hadoop.hbase.regionserver.TestFSErrorsExposed |
| Timed out junit tests | org.apache.hadoop.hbase.TestIOFencing |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.11.2 Server=1.11.2 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12838960/HBASE-17085-v2.patch |
| JIRA Issue | HBASE-17085 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 9aa06e3e2c74 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 
20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 4d1bff9 |
| Default Java | 1.8.0_101 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4474/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/4474/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4474/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4474/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> AsyncFSWAL may issue 

[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-15 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15666980#comment-15666980
 ] 

Duo Zhang commented on HBASE-17085:
---

[~stack] Could you please try this patch to see if it helps for you?

Thanks.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085-v2.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15665544#comment-15665544
 ] 

Duo Zhang commented on HBASE-17085:
---

If there is no operation after the sync, then the newHighestProcessedAppendTxid 
will always be 1 and the sync will never be finished?

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664407#comment-15664407
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


I mean when the txid becomes 2

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664405#comment-15664405
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


No prob. When this becomes 2 then sync Wil be called. It is more to minimise 
sync calls.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664344#comment-15664344
 ] 

Hadoop QA commented on HBASE-17085:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
6s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 36s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
45s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
43s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
46s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 35s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
45s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
27m 54s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
52s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 96m 53s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
13s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 136m 59s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.regionserver.TestFSErrorsExposed |
| Timed out junit tests | org.apache.hadoop.hbase.TestHBaseTestingUtility |
|   | org.apache.hadoop.hbase.master.TestTableLockManager |
|   | org.apache.hadoop.hbase.TestIOFencing |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:7bda515 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12838758/HBASE-17085-v2.patch |
| JIRA Issue | HBASE-17085 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux cd2526dea5f3 3.13.0-93-generic #140-Ubuntu SMP Mon Jul 18 
21:21:05 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 9250bf8 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4459/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/4459/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4459/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4459/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message 

[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664037#comment-15664037
 ] 

Duo Zhang commented on HBASE-17085:
---

With a larger batch size the total sync count is much less. But it does not 
increase the performance.

{noformat}
Summary: threads=100, iterations=25, syncInterval=0 took 875.985s 
28539.303ops/s

-- Meters --
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.appendMeter.bytes
 count = 173799765420
 mean rate = 199006089.64 events/second
 1-minute rate = 201041305.95 events/second
 5-minute rate = 191330046.98 events/second
15-minute rate = 139227963.92 events/second
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncMeter.syncs
 count = 1019110
 mean rate = 1166.91 events/second
 1-minute rate = 1178.01 events/second
 5-minute rate = 1118.39 events/second
15-minute rate = 792.59 events/second
{noformat}

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664003#comment-15664003
 ] 

Duo Zhang commented on HBASE-17085:
---

I tried to set the batchSize to 1MB but got a worse result for PE. For WALPE, 
it does reduce the total sync count. Let me see if it could make WALPE run 
faster.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085-v2.patch, 
> HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663916#comment-15663916
 ] 

Duo Zhang commented on HBASE-17085:
---

What if I have an append with txid 1 and a sync with txid 2?

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663897#comment-15663897
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


I tried setting 128MB but still not consistent results. But may be need to 
check with bigger data size. In your test can you change the batch size and run 
PE? If it performs better it is good.
And in your patch there is a suggestion. Pls check
{code}
 if(!syncFutures.isEmpty()) {
  long lastTxid = syncFutures.last().getTxid();
  if (lastTxid > highestProcessedAppendTxidAtLastSync) {
long temp = newHighestProcessedAppendTxid;
if((temp + 1) > lastTxid)
// we have at least one sync request
sync(writer);
  }
}
{code}
See if this is fine. The reason is that we can aggregate more before calling 
sync.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663875#comment-15663875
 ] 

Duo Zhang commented on HBASE-17085:
---

As you said above, this is because the batch size. The default batchSize is 
64KB, you could try to set a larger value to see if it helps.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663866#comment-15663866
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


Our comments crossed. Yes what you see is right. But if you see the number of 
syncFutures it is quite high. My point was that why is that we have so many 
syncFutures whereas the append txid trailing so much behind.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663856#comment-15663856
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


'highestProcessedAppendTxid' increases. But my point was that when the code 
comes to appendAndSync when we try to process one highestProcessedAppendTxid at 
that time we have almost 40 to 50 sync future that is greater than the current 
'highestProcessedAppendTxid'. 
so again when the next appendAndSync happens we advance to the next 
'highestProcessedAppendTxid' say from 300 to 304 but the syncFuture is now with 
375 . Just for eg am saying.
So we have lot of syncFuture waiting to get to the done state.
Am away mostly for the coming days. Next two days can be online for sometime 
after that on a vacation.


> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663855#comment-15663855
 ] 

Duo Zhang commented on HBASE-17085:
---

[~ramkrishna] Could you please confirm your code again? Do you use the latest 
master and then apply the v1 patch? I've added a log in sync method and tried a 
WALPE run. The txid of the last SyncFuture in syncFutures maybe the same 
between calls, but the currentHighestProcessedAppendTxid always increases.

Thanks.
{code}
LOG.info("=" + fileLengthAtLastSync + ":" + 
currentHighestProcessedAppendTxid + ":" + (syncFutures.isEmpty() ? -1 : 
syncFutures.last().getTxid()));
{code}
fileLength:currentHighestProcessedAppendTxid:syncFutures.last().getTxid()
{noformat}
2016-11-14 20:57:38,644 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=18954972:16712758:16712902
2016-11-14 20:57:38,644 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19025752:16712778:16712902
2016-11-14 20:57:38,645 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19096532:16712798:16712902
2016-11-14 20:57:38,645 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19167312:16712819:16712902
2016-11-14 20:57:38,645 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19238092:16712839:16712902
2016-11-14 20:57:38,645 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19308872:16712857:16712902
2016-11-14 20:57:38,646 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19379652:16712879:16712902
2016-11-14 20:57:38,646 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19450432:16712899:16712902
2016-11-14 20:57:38,646 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19457510:16712900:16712902
2016-11-14 20:57:38,646 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19528290:16712921:16713043
2016-11-14 20:57:38,647 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19599070:16712941:16713078
2016-11-14 20:57:38,647 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19669850:16712960:16713078
2016-11-14 20:57:38,647 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19740630:16712980:16713078
2016-11-14 20:57:38,647 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19811410:16713000:16713078
2016-11-14 20:57:38,648 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19882190:16713020:16713078
2016-11-14 20:57:38,648 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=19952970:16713040:16713078
2016-11-14 20:57:38,648 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20023750:16713060:16713078
2016-11-14 20:57:38,648 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20080374:16713077:16713078
2016-11-14 20:57:38,649 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20151154:16713097:16713248
2016-11-14 20:57:38,649 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20221934:16713117:16713258
2016-11-14 20:57:38,650 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20292714:16713137:16713258
2016-11-14 20:57:38,650 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20363494:16713157:16713258
2016-11-14 20:57:38,650 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20434274:16713177:16713258
2016-11-14 20:57:38,650 INFO  [AsyncFSWAL-pool1-t1] wal.AsyncFSWAL: 
=20505054:16713196:16713258
{noformat}

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663732#comment-15663732
 ] 

Duo Zhang commented on HBASE-17085:
---

This is a bit awkward. If highestProcessedAppendTxid does not increase, we 
should not call sync again as the writer.getLength will not increase so it will 
be equal to fileLengthAtLastSync.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663725#comment-15663725
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


No. Under sync(AsyncWriter) before we call writer.sync. Not in syncCompleted(). 
The reason may be because we break if the batchSize is reached and so we get a 
list of appends which is lesser than what is there in sync.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663541#comment-15663541
 ] 

Duo Zhang commented on HBASE-17085:
---

Where do you put the logging code? At syncCompleted?

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-14 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663473#comment-15663473
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


This patch did not help me much. But how ever I can see that the sync is very 
slow in catching up with the appends.
At any point of time the appends highestProcessedAppendTxid is very less than 
the number of items in the syncfuture.
For eg
{code}
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33525
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33527
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33529
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33531
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33533
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33535
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33537
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33539
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33541
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33543
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33544
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33545
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33548
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33551
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33552
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33553
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33557
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33559
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33560
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33561
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33565
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33567
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33569
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33571
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33573
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33575
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33577
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33579
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33581
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33582
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33583
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33587
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33589
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33590
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33593
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33595
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33597
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33598
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33601
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33603
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33605
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33607
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33609
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33611
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33613
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33614
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33617
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33619
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33620
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33623
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33625
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33627
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33629
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33631
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33632
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33635
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33637
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33639
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33641
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33642
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33645
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33647
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33649
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33651
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33653
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33655
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33657
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524  33659

[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15663000#comment-15663000
 ] 

Hadoop QA commented on HBASE-17085:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 10s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
0s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
44s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
40s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
45s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 35s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
44s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
14s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
27m 7s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
48s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 77m 58s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
14s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 117m 0s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Timed out junit tests | 
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDefaultVisLabelService
 |
|   | 
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithCustomVisLabService
 |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:7bda515 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12838709/HBASE-17085-v1.patch |
| JIRA Issue | HBASE-17085 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 5e271956dbf9 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 
17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 9250bf8 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4452/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/4452/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4452/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4452/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> 

[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15662819#comment-15662819
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


Am just seeing your -v1 patch.
{code}
 if (!syncFutures.isEmpty()
457 && syncFutures.last().getTxid() > 
highestProcessedAppendTxidAtLastSync) {
{code}
This seems to be your fix. I can try your patch in my cluster. 
{code}
And there is no duplicated record. It is just a pipeline. 
{code}
bq.we will always issue an AsyncDFSOutput.sync after an append even if there is 
no new sync request.
True. So you mean that since append has happend only that new data will be 
again called for sync. And because of that the number of syncs may be more and 
here you plan to aggregate more. 

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15662813#comment-15662813
 ] 

Duo Zhang commented on HBASE-17085:
---

I used to tried limiting the concurrent sync requests but it did not help. I 
think we could try again after this patch is applied.

And there is no duplicated record. It is just a pipeline. In FSHLog we also use 
5 threads to do syncing(That's why I limited the number of concurrent sync 
requests to 5)

If no concern, let's commit the patch here first? Thanks.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15662804#comment-15662804
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


Can we try limiting the sync that happens? I know you tried with some sync 
count of 5. So even that did not help. 
And do think we had duplicate records created as we were syncing even if the 
current sync did not get completed.

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15661767#comment-15661767
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:


Thanks for the patch. I don't have system with me. I have seen this issue and 
was working on a fix. But first tried to do some workaround which did not pay 
off . My other doubt was if this happens then we will have duplicate entries or 
is it just empty packets. I was verifying that and as it was week end could not 
do that

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> 
>
> Key: HBASE-17085
> URL: https://issues.apache.org/jira/browse/HBASE-17085
> Project: HBase
>  Issue Type: Sub-task
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HBASE-17085) AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync

2016-11-13 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15661756#comment-15661756
 ] 

Hadoop QA commented on HBASE-17085:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 13s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
1s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
44s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
14s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
51s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 30s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
46s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 42s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 42s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
14s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
28m 43s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
52s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 25s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 80m 34s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
13s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 121m 47s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Timed out junit tests | org.apache.hadoop.hbase.mapred.TestTableMapReduceUtil 
|
|   | org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor |
|   | org.apache.hadoop.hbase.master.TestWarmupRegion |
|   | org.apache.hadoop.hbase.mapred.TestMultiTableSnapshotInputFormat |
|   | org.apache.hadoop.hbase.TestPartialResultsFromClientSide |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:7bda515 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12838688/HBASE-17085.patch |
| JIRA Issue | HBASE-17085 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux a6138a0d1f67 3.13.0-93-generic #140-Ubuntu SMP Mon Jul 18 
21:21:05 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 3f919dd |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4450/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/4450/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/4450/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output |