[kudu-CR](gh-pages) Add blog post about multi-master support in Kudu 1.0

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Add blog post about multi-master support in Kudu 1.0
..


Patch Set 1: Code-Review+2

Good stuff!

-- 
To view, visit http://gerrit.cloudera.org:8080/3476
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I40a513f6a616ed0d947837fd9f33f64f755465ff
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: gh-pages
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add required Debian version to installation page

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Add required Debian version to installation page
..


Patch Set 1:

> JD, are you ok with pushing this now with your recent deb 8
 > testing?

Yes.

-- 
To view, visit http://gerrit.cloudera.org:8080/3389
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I65cef323648d7934cb140046cf391d56867eeb56
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] KUDU-1309: [java client] support tables with non-covering partition-key ranges

2016-06-23 Thread Dan Burkert (Code Review)
Dan Burkert has posted comments on this change.

Change subject: KUDU-1309: [java client] support tables with non-covering 
partition-key ranges
..


Patch Set 2:

(32 comments)

http://gerrit.cloudera.org:8080/#/c/3388/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java
File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java:

PS2, Line 139: This map
 :* is always the first to be updated, because that's the map 
from
 :* which all the lookups are done in the fast-path of the 
requests
 :* that need to locate a tablet. The second map to be updated 
is
 :* tablet2client, because it comes second in the fast-path
 :* of every requests that need to locate a tablet. The third 
map
 :* is only used to handle TabletServer disconnections 
gracefully.
> Nit: reading this again (I reviewed it eons ago), I think this part of the 
I moved the non covered range cache out from under this comment since it really 
doesn't fit (it's not the same data indexed differently).  I agree that this 
comment is not great, but it should be fixed with a proper meta cache.


Line 155:* Currently once a non-covered range is added to the cache, it is 
never
> Nit: prefix this part of the comment with "TODO:" since it is expected to c
Done


Line 576:   Deferred openScanner(final 
AsyncKuduScanner scanner) {
> True, this can be removed.
Done


Line 685:   // Otherwise fall through to below where a GetTableLocations 
lookup will occur
> Nit: end with a period.
Done


Line 1148:   Pair nonCoveredRange = 
getNonCoveredRange(table.getTableId(), key);
> Nit: if you want, you can call getTableId() once outside of the loop, store
Done


PS2, Line 1355: NonCoveredRangeCache nonCoveredRanges = 
nonCoveredRangeCaches.get(tableId);
  : if (nonCoveredRanges == null) {
  :   nonCoveredRanges = new NonCoveredRangeCache();
  :   NonCoveredRangeCache oldCache = 
nonCoveredRangeCaches.putIfAbsent(tableId, nonCoveredRanges);
  :   if (oldCache != null) {
  : nonCoveredRanges = oldCache;
  :   }
  : }
> How about just:
putIfAbsent returns null if the entry was absent.


Line 1378:   nonCoveredRanges.addNonCoveredRange(EMPTY_ARRAY, 
firstStartKey);
> Don't we need all of these calls to addNonCoveredRange() to be atomic? With
It may contain stale entries, but that needs to be handled once add/drop 
partition is introduced anyway.


http://gerrit.cloudera.org:8080/#/c/3388/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java
File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java:

Line 474: invalidate();
> Nit: invalidate() is called in both branches, can we pull it out?
Done


http://gerrit.cloudera.org:8080/#/c/3388/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java
File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java:

Line 127:   private final List failedLookups = new 
ArrayList<>();
> I think you can use a CopyOnWriteArrayList here and omit the use of a lock 
I think in this case (where we are incrementally building up the list), a mutex 
is the best answer.   Doing the checked put shuffle with an 
AtomicReference is going to be hard and involve spinning + rebuilding the 
list per spin.  COWAL isn't even lock free: 
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/concurrent/CopyOnWriteArrayList.java#433


Line 303:   Callback>, 
ArrayList> {
> Nit: not related to your change, but why is ArrayList the second type and n
Done


Line 306:   batchResponses = batchResponses == null ? new 
ArrayList() : batchResponses;
> Is a null batchResponses actually possible? How?
I'm not sure, the code already handled the null case.  When I comment out this 
line the tests still pass.  JD, do you know what the deal is?


PS2, Line 308: // flushTablet() can return null when a tablet we wanted to 
flush was already flushed. Those
 :   // nulls along with BatchResponses are then put in a list 
by Deferred.group(). We first need
 :   // to filter the nulls out.
> OMG.
Agreed.  Refactored.


Line 320:   List responsesList = new ArrayList<>(size);
> If we're going to go through the trouble of precomputing the size, we ought
I thought about this, but the only way to figure out how many failed lookups 
there are is to take out the lock.  Since there really shouldn't be failed 
lookups I decided not to slow down the normal path.  I'm not too concerned 
about making the case where there are slow lookups be slow.


Line 397: if (tablet == null) {
> Why don't we perform this check to AUTO_FLUSH_SYNC on L377-384? Seems usefu
The first step of sendRpcToTablet (again, d

[kudu-CR] KUDU-1309: [java client] support tables with non-covering partition-key ranges

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: KUDU-1309: [java client] support tables with non-covering 
partition-key ranges
..


Patch Set 3:

Build Started http://104.196.14.100/job/kudu-gerrit/1975/

-- 
To view, visit http://gerrit.cloudera.org:8080/3388
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id65a1f8a95bb16fc0360a17021a391afd3c9d03f
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] KUDU-1309: [java client] support tables with non-covering partition-key ranges

2016-06-23 Thread Dan Burkert (Code Review)
Hello Jean-Daniel Cryans, Adar Dembo, Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3388

to look at the new patch set (#3).

Change subject: KUDU-1309: [java client] support tables with non-covering 
partition-key ranges
..

KUDU-1309: [java client] support tables with non-covering partition-key ranges

This commit adds support for accessing and creating tables with non-covering
range partitions to the Java client. The only public interface introduced is the
CreateTableOptions.addRangeBound method. Otherwise, all the changes are
necessary for reading or writing to tables with range partition gaps. Right now
if a client attempts to write to a non-covered range, a NotFound status is
returned, which matches the C++ client. JD pointed out that this makes it
impossible for applications to distinguish between failed updates because the
row doesn't exist, and failed updates because the partition range doesn't exist.
I plan to fix this by introducing a new status code and fixing both clients in a
follow up commit.

Change-Id: Id65a1f8a95bb16fc0360a17021a391afd3c9d03f
---
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java
M java/kudu-client/src/main/java/org/kududb/client/Batch.java
M java/kudu-client/src/main/java/org/kududb/client/BatchResponse.java
M java/kudu-client/src/main/java/org/kududb/client/Bytes.java
M java/kudu-client/src/main/java/org/kududb/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/kududb/client/CreateTableRequest.java
M java/kudu-client/src/main/java/org/kududb/client/KuduRpc.java
M java/kudu-client/src/main/java/org/kududb/client/KuduRpcResponse.java
A java/kudu-client/src/main/java/org/kududb/client/NonCoveredRangeCache.java
A java/kudu-client/src/main/java/org/kududb/client/NonCoveredRangeException.java
M java/kudu-client/src/main/java/org/kududb/client/Operation.java
M java/kudu-client/src/main/java/org/kududb/client/OperationResponse.java
M java/kudu-client/src/main/java/org/kududb/client/Partition.java
M java/kudu-client/src/main/java/org/kududb/client/RowError.java
M java/kudu-client/src/main/java/org/kududb/client/RowResultIterator.java
M java/kudu-client/src/test/java/org/kududb/client/BaseKuduTest.java
M java/kudu-client/src/test/java/org/kududb/client/TestFlexiblePartitioning.java
M java/kudu-client/src/test/java/org/kududb/client/TestKuduClient.java
M java/kudu-client/src/test/java/org/kududb/client/TestKuduSession.java
M java/kudu-client/src/test/java/org/kududb/client/TestKuduTable.java
22 files changed, 830 insertions(+), 138 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/88/3388/3
-- 
To view, visit http://gerrit.cloudera.org:8080/3388
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id65a1f8a95bb16fc0360a17021a391afd3c9d03f
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] [java-client] refactor AsyncKuduSession

2016-06-23 Thread Dan Burkert (Code Review)
Hello Jean-Daniel Cryans, Adar Dembo,

I'd like you to do a code review.  Please visit

http://gerrit.cloudera.org:8080/3477

to review the following change.

Change subject: [java-client] refactor AsyncKuduSession
..

[java-client] refactor AsyncKuduSession

This commit refactors how AsyncKuduSession handles buffering internally. Instead
of using a buffer per tablet and a separate list of operations in tablet
location lookup, we buffer all operations into a single large buffer, and then
dispatch into per-tablet batches during flush.

This result is simplified logic in AsyncKuduSession. AsyncKuduSession#apply is
no longer reentrant, and lookups no longer need to be tracked explicitly.

This patch was tested against YCSB to make sure that it does not result in
performance regressions.  With an increased buffer size of 5000 to match the 0.9
client's buffer size, the performance is largely the same. With this refactor
the effective batch size is much smaller since mutationBufferSize now refers to
the one buffer for all tablets instead of to a per-tablet buffer.

Change-Id: I2ee6d029b1a56e254bfb9a870917883abeadb6b8
---
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java
M java/kudu-client/src/main/java/org/kududb/client/Batch.java
M java/kudu-client/src/main/java/org/kududb/client/Bytes.java
M java/kudu-client/src/main/java/org/kududb/client/Operation.java
M java/kudu-client/src/main/java/org/kududb/client/RowError.java
M java/kudu-client/src/main/java/org/kududb/util/AsyncUtil.java
M java/kudu-client/src/test/java/org/kududb/client/TestOperation.java
8 files changed, 587 insertions(+), 638 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/77/3477/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2ee6d029b1a56e254bfb9a870917883abeadb6b8
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 


[kudu-CR] [java-client] refactor AsyncKuduSession

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: [java-client] refactor AsyncKuduSession
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1976/

-- 
To view, visit http://gerrit.cloudera.org:8080/3477
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I2ee6d029b1a56e254bfb9a870917883abeadb6b8
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR](gh-pages) Add blog post about multi-master support in Kudu 1.0

2016-06-23 Thread Adar Dembo (Code Review)
Hello Jean-Daniel Cryans, Todd Lipcon,

I'd like you to do a code review.  Please visit

http://gerrit.cloudera.org:8080/3476

to review the following change.

Change subject: Add blog post about multi-master support in Kudu 1.0
..

Add blog post about multi-master support in Kudu 1.0

I also fixed the placement of the  tag in this week's update.

Change-Id: I40a513f6a616ed0d947837fd9f33f64f755465ff
---
M _posts/2016-06-21-weekly-update.md
A _posts/2016-06-24-multi-master-1-0-0.md
2 files changed, 107 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3476/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3476
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I40a513f6a616ed0d947837fd9f33f64f755465ff
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: gh-pages
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has submitted this change and it was merged.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Allow for reserving disk space for non-Kudu processes

Adds gflags to reserve disk space such that Kudu will not use more than
specified. Hadoop calls this functionality "du.reserved".

If a WAL preallocation is attempted while the log disk is past its
reservation limit, the log write will fail. As a result, RaftConsensus
will cause the process to crash.

The log block manager will use non-full disks if possible until all of
the disks are full. If a flush or compaction is attempted when all disks
are beyond their configured capacity then the LogBlockManager will
return an error. As a result, the maintenance manager task will cause
the process to crash.

This initial implementation provides a "best effort" approach. Disk
space checks are only done at preallocation time, and if writes continue
beyond the preallocated point (for both a WAL segment and a data block)
those writes will not be prevented. This makes it easier to provide a
"friendly" option where the block manager will divert new writes to
non-full disks, avoiding a hard crash when only one disk is past its
reservation limit.

In the future, we may want to add "hard" and "soft" limits, such that
going beyond the soft limit will do what we do today, and going beyond
the hard limit (say, by writing a very large data block past its
preallocation point) will result in a crash.

This patch includes:

* Unit tests.
* End-to-end test for flushing / compaction falling back to non-full
  disks due to disk space backpressure and finally crashing when there
  is no space left in any data dir.
* End-to-end test for writes failing due to WAL disk space backpressure,
  causing a crash.

Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Reviewed-on: http://gerrit.cloudera.org:8080/3135
Reviewed-by: Adar Dembo 
Tested-by: Mike Percy 
Reviewed-by: Jean-Daniel Cryans 
Reviewed-by: Todd Lipcon 
---
M src/kudu/consensus/log-test.cc
M src/kudu/consensus/log.cc
M src/kudu/consensus/log_util.cc
M src/kudu/fs/block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/fs/log_block_manager.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/disk_reservation-itest.cc
M src/kudu/tablet/tablet_peer_mm_ops.cc
M src/kudu/util/CMakeLists.txt
A src/kudu/util/env_util-test.cc
M src/kudu/util/env_util.cc
M src/kudu/util/env_util.h
M src/kudu/util/scoped_cleanup.h
14 files changed, 613 insertions(+), 76 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, but someone else must approve
  Mike Percy: Verified
  Adar Dembo: Looks good to me, approved
  Todd Lipcon: Looks good to me, but someone else must approve



-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 10
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has submitted this change and it was merged.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


catalog_manager: prevent spurious dirty callbacks from crashing the process

The recent change to switch from LocalConsensus to RaftConsensus has led to
an increased number of dirty callback calls when using just one master. Some
of these calls occur with no term change; the catalog manager treats them as
any other calls and reloads the on-disk metadata.

In theory that's just unnecessary work, but CheckIsLeaderAndReady() doesn't
provide adequate protection for the rest of the master when in this state, so
nearly every RPC is allowed in during this time. That's an absolute disaster
for correctness: imagine a GetTableLocations() returning only a subset of a
table's tablets because the rest were still being loaded from disk.

Luckily for us it can also manifest as a crash [1] so we noticed it quickly.
I chose to fix it by ignoring these calls within
CatalogManager::VisitTablesAndTabletsTask and not
SysCatalogTable::SysCatalogStateChanged because the synchronization in the
former is more straight forward thanks to the size of worker_pool_. The new
test led to a crash 100% of the time without this fix.

There's an argument to be made for changing TableInfo::TabletMap's raw
pointers to shared pointers thus avoiding this crash altogether, but it's
still an incorrect state to be in, so I don't see the value in doing that.

While I was here, I snuck a few other changes in:
- Remove a lock acquisition from ElectedAsLeaderCb; it did nothing.
- Remove old_role_ from SysCatalogTable; it also did nothing.
- Narrow the lock acquisition in VisitTablesAndTabletsTask; it only needs
  to protect the visiting logic.

1. Sample crash output:

F0618 05:47:41.795367  9330 ref_counted.cc:74] Check failed: !in_dtor_
*** Check failure stack trace: ***
@ 0x7f99fab05f7d  google::LogMessage::Fail() at ??:0
@ 0x7f99fab07e7d  google::LogMessage::SendToLog() at ??:0
@ 0x7f99fab05ab9  google::LogMessage::Flush() at ??:0
@ 0x7f99fab0891f  google::LogMessageFatal::~LogMessageFatal() at ??:0
@ 0x7f99fae8a637  kudu::subtle::RefCountedThreadSafeBase::AddRef() at 
??:0
@ 0x7f9a07c486d8  make_scoped_refptr<>() at ??:0
@ 0x7f9a07c2f7f7  kudu::master::TableInfo::GetTabletsInRange() at ??:0
@ 0x7f9a07c2ec35  kudu::master::CatalogManager::GetTableLocations() at 
??:0
@   0x51962e  kudu::master::WaitForRunningTabletCount() at ...
@   0x51ce59  
kudu::CreateTableStressTest_RestartMasterDuringCreation_Test::TestBody() at ...
@ 0x7f99fc7f5b48  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f99fc7ea012  testing::Test::Run() at ??:0
@ 0x7f99fc7ea158  testing::TestInfo::Run() at ??:0
@ 0x7f99fc7ea235  testing::TestCase::Run() at ??:0
@ 0x7f99fc7ea518  testing::internal::UnitTestImpl::RunAllTests() at ??:0
@ 0x7f99fc7f6058  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f99fc7ea7fd  testing::UnitTest::Run() at ??:0
@ 0x7f9a08520cf6  main at ??:0
@ 0x7f99f97a9d5d  __libc_start_main at ??:0
@   0x43e06d  (unknown) at ??:0

Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Reviewed-on: http://gerrit.cloudera.org:8080/3465
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon 
Reviewed-by: Mike Percy 
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/sys_catalog.h
5 files changed, 82 insertions(+), 48 deletions(-)

Approvals:
  Mike Percy: Looks good to me, approved
  Todd Lipcon: Looks good to me, but someone else must approve
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


Patch Set 3: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


Patch Set 3: Code-Review+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add required Debian version to installation page

2016-06-23 Thread Dan Burkert (Code Review)
Dan Burkert has posted comments on this change.

Change subject: Add required Debian version to installation page
..


Patch Set 1: -Code-Review

JD, are you ok with pushing this now with your recent deb 8 testing?

-- 
To view, visit http://gerrit.cloudera.org:8080/3389
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I65cef323648d7934cb140046cf391d56867eeb56
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9: Code-Review+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1398 CFile index blocks can store shortest separating prefix

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: KUDU-1398 CFile index blocks can store shortest separating 
prefix
..


Patch Set 11: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3304
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I68ae9146fabd4a19b17d103d118d2d60e28bb315
Gerrit-PatchSet: 11
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-HasComments: No


[kudu-CR] KUDU-1398 CFile index blocks can store shortest separating prefix

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1398 CFile index blocks can store shortest separating 
prefix
..


KUDU-1398 CFile index blocks can store shortest separating prefix

(No changes: resubmitting to trigger Jenkins build)

This changes the values stored as index keys to be a shortest key
between the first key of the data block and the last key of the previous
data block. However, this change does not apply to deltafiles, because
deltafiles expect to be able to decode an index key into a DeltaKey.

The way the change works is illustrated with the example from the JIRA,
extended:

Block 1: apple, banana, cardamom
Block 2: carrot, epazote, fennel
Block 3: fig, guava, kiwi

Before: ['apple' -> block 1, 'carrot' -> block 2, 'fig' -> block 3]

After: ['a' -> block 1, 'carr' -> block 2, 'fi' -> block 3]

Change-Id: I68ae9146fabd4a19b17d103d118d2d60e28bb315
Reviewed-on: http://gerrit.cloudera.org:8080/3304
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon 
---
M src/kudu/cfile/binary_dict_block.cc
M src/kudu/cfile/binary_dict_block.h
M src/kudu/cfile/binary_plain_block.cc
M src/kudu/cfile/binary_plain_block.h
M src/kudu/cfile/binary_prefix_block.cc
M src/kudu/cfile/binary_prefix_block.h
M src/kudu/cfile/block_encodings.h
M src/kudu/cfile/bloomfile.cc
M src/kudu/cfile/bloomfile.h
M src/kudu/cfile/bshuf_block.h
M src/kudu/cfile/cfile-test.cc
M src/kudu/cfile/cfile_util.cc
M src/kudu/cfile/cfile_util.h
M src/kudu/cfile/cfile_writer.cc
M src/kudu/cfile/cfile_writer.h
M src/kudu/cfile/gvint_block.cc
M src/kudu/cfile/gvint_block.h
M src/kudu/cfile/index-test.cc
M src/kudu/cfile/index_block.cc
M src/kudu/cfile/plain_bitmap_block.h
M src/kudu/cfile/plain_block.h
M src/kudu/cfile/rle_block.h
M src/kudu/tablet/deltafile.cc
23 files changed, 234 insertions(+), 71 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3304
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I68ae9146fabd4a19b17d103d118d2d60e28bb315
Gerrit-PatchSet: 12
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9:

> Any particular areas you think I should take a close look at?

Nothing specific, I just wanted to make sure that you were satisfied with how 
Mike addressed your comments. I would say the same thing in any other review 
(i.e. if two reviewers look at a patch, I think it's good etiquette for the 
first one who granted a +2 to delay merging until the second reviewer is 
satisfied as well).

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9: Code-Review+1

> JD:
 > 
 > I'm happy to add docs as a follow up. I've actually not written
 > much documentation so I'll poke around for examples.

Drop a section in http://kudu.apache.org/docs/administration.html, can do a 
follow-up patch since this looks ready to go.

 > 
 > In terms of non-zero defaults, I'm not sure what kinds of defaults
 > would be widely applicable, to be honest.

I looked at Hadoop, it defaults to 0 (thought it was some other number), so we 
should just recommend setting that configuration to something in the docs.

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


Patch Set 3:

Build Started http://104.196.14.100/job/kudu-gerrit/1974/

-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Adar Dembo (Code Review)
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3465

to look at the new patch set (#3).

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..

catalog_manager: prevent spurious dirty callbacks from crashing the process

The recent change to switch from LocalConsensus to RaftConsensus has led to
an increased number of dirty callback calls when using just one master. Some
of these calls occur with no term change; the catalog manager treats them as
any other calls and reloads the on-disk metadata.

In theory that's just unnecessary work, but CheckIsLeaderAndReady() doesn't
provide adequate protection for the rest of the master when in this state, so
nearly every RPC is allowed in during this time. That's an absolute disaster
for correctness: imagine a GetTableLocations() returning only a subset of a
table's tablets because the rest were still being loaded from disk.

Luckily for us it can also manifest as a crash [1] so we noticed it quickly.
I chose to fix it by ignoring these calls within
CatalogManager::VisitTablesAndTabletsTask and not
SysCatalogTable::SysCatalogStateChanged because the synchronization in the
former is more straight forward thanks to the size of worker_pool_. The new
test led to a crash 100% of the time without this fix.

There's an argument to be made for changing TableInfo::TabletMap's raw
pointers to shared pointers thus avoiding this crash altogether, but it's
still an incorrect state to be in, so I don't see the value in doing that.

While I was here, I snuck a few other changes in:
- Remove a lock acquisition from ElectedAsLeaderCb; it did nothing.
- Remove old_role_ from SysCatalogTable; it also did nothing.
- Narrow the lock acquisition in VisitTablesAndTabletsTask; it only needs
  to protect the visiting logic.

1. Sample crash output:

F0618 05:47:41.795367  9330 ref_counted.cc:74] Check failed: !in_dtor_
*** Check failure stack trace: ***
@ 0x7f99fab05f7d  google::LogMessage::Fail() at ??:0
@ 0x7f99fab07e7d  google::LogMessage::SendToLog() at ??:0
@ 0x7f99fab05ab9  google::LogMessage::Flush() at ??:0
@ 0x7f99fab0891f  google::LogMessageFatal::~LogMessageFatal() at ??:0
@ 0x7f99fae8a637  kudu::subtle::RefCountedThreadSafeBase::AddRef() at 
??:0
@ 0x7f9a07c486d8  make_scoped_refptr<>() at ??:0
@ 0x7f9a07c2f7f7  kudu::master::TableInfo::GetTabletsInRange() at ??:0
@ 0x7f9a07c2ec35  kudu::master::CatalogManager::GetTableLocations() at 
??:0
@   0x51962e  kudu::master::WaitForRunningTabletCount() at ...
@   0x51ce59  
kudu::CreateTableStressTest_RestartMasterDuringCreation_Test::TestBody() at ...
@ 0x7f99fc7f5b48  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f99fc7ea012  testing::Test::Run() at ??:0
@ 0x7f99fc7ea158  testing::TestInfo::Run() at ??:0
@ 0x7f99fc7ea235  testing::TestCase::Run() at ??:0
@ 0x7f99fc7ea518  testing::internal::UnitTestImpl::RunAllTests() at ??:0
@ 0x7f99fc7f6058  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f99fc7ea7fd  testing::UnitTest::Run() at ??:0
@ 0x7f9a08520cf6  main at ??:0
@ 0x7f99f97a9d5d  __libc_start_main at ??:0
@   0x43e06d  (unknown) at ??:0

Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/sys_catalog.h
5 files changed, 82 insertions(+), 48 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/65/3465/3
-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3465/2/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

Line 600: std::lock_guard l(state_lock_);
> Could you add a DCHECK here that the worker pool has a maximum of 1 threads
DCHECK() isn't possible without exposing some ThreadPool innards, but there is 
already a comment in catalog_manager.h, just above the definition of 
worker_pool_. I moved it to the constructor because that's where we actually 
set the number of threads.


http://gerrit.cloudera.org:8080/#/c/3465/2/src/kudu/master/master-test.cc
File src/kudu/master/master-test.cc:

Line 586: static void GetTableLocations(const char* kTableName,
> Rename to LoopGetTableLocations?
Sure. Renamed GetTableSchema too.


-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9:

Any particular areas you think I should take a close look at? Otherwise happy 
to trust that this has already gotten enough review from Adar

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] catalog manager: prevent spurious dirty callbacks from crashing the process

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: catalog_manager: prevent spurious dirty callbacks from crashing 
the process
..


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3465/2/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

Line 600: std::lock_guard l(state_lock_);
Could you add a DCHECK here that the worker pool has a maximum of 1 threads? If 
that's hard, how about a comment where the worker_pool_ is constructed that 
specifies that we rely on that for correctness here.


http://gerrit.cloudera.org:8080/#/c/3465/2/src/kudu/master/master-test.cc
File src/kudu/master/master-test.cc:

Line 586: static void GetTableLocations(const char* kTableName,
Rename to LoopGetTableLocations?


-- 
To view, visit http://gerrit.cloudera.org:8080/3465
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5bc602a51a4914ec13f926bfca555c816a2ee509
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9:

JD:

I'm happy to add docs as a follow up. I've actually not written much 
documentation so I'll poke around for examples.

In terms of non-zero defaults, I'm not sure what kinds of defaults would be 
widely applicable, to be honest.

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1398 CFile index blocks can store shortest separating prefix

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: KUDU-1398 CFile index blocks can store shortest separating 
prefix
..


Patch Set 11:

Build Started http://104.196.14.100/job/kudu-gerrit/1973/

-- 
To view, visit http://gerrit.cloudera.org:8080/3304
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I68ae9146fabd4a19b17d103d118d2d60e28bb315
Gerrit-PatchSet: 11
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9:

Hey Mike, are you planning on doing a follow-up patch with some documentation? 
Also, what does it take so that we don't default this to 0? I think it's 
desirable to have it enabled.

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] alter schema transaction: don't crash in ToString() when no timestamp

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged.

Change subject: alter_schema_transaction: don't crash in ToString() when no 
timestamp
..


alter_schema_transaction: don't crash in ToString() when no timestamp

Saw this in a local alter_table-test failure.

I0623 14:17:50.224598 26418 transaction_tracker.cc:230] Dumping currently 
running transactions:
F0623 14:17:50.224697 26418 transaction.h:206] Check failed: timestamp_ != 
Timestamp::kInvalidTimestamp
*** Check failure stack trace: ***
@ 0x7f4bb399146d  google::LogMessage::Fail() at ??:0
@ 0x7f4bb39934d3  google::LogMessage::SendToLog() at ??:0
@ 0x7f4bb3990fca  google::LogMessage::Flush() at ??:0
@ 0x7f4bb3993f1f  google::LogMessageFatal::~LogMessageFatal() at ??:0
@ 0x7f4bb484e3f6  kudu::tablet::TransactionState::timestamp() at ??:0
@ 0x7f4bb489b804  kudu::tablet::AlterSchemaTransactionState::ToString() 
at ??:0
@ 0x7f4bb489c8f6  kudu::tablet::AlterSchemaTransaction::ToString() at 
??:0
@ 0x7f4bb489f1fd  kudu::tablet::TransactionDriver::ToStringUnlocked() 
at ??:0
@ 0x7f4bb489f132  kudu::tablet::TransactionDriver::ToString() at ??:0
@ 0x7f4bb48a6790  
kudu::tablet::TransactionTracker::WaitForAllToFinish() at ??:0
@ 0x7f4bb48a612c  
kudu::tablet::TransactionTracker::WaitForAllToFinish() at ??:0
@ 0x7f4bb4891100  kudu::tablet::TabletPeer::Shutdown() at ??:0
@ 0x7f4bb4bfc993  kudu::tserver::TSTabletManager::Shutdown() at ??:0
@ 0x7f4bb4bd11a2  kudu::tserver::TabletServer::Shutdown() at ??:0
@ 0x7f4bb4b97e71  kudu::tserver::MiniTabletServer::Shutdown() at ??:0
@ 0x7f4bb4b97f8c  kudu::tserver::MiniTabletServer::Restart() at ??:0
@   0x447c10  kudu::AlterTableTest::RestartTabletServer() at 
/home/adar/Source/kudu/src/kudu/integration-tests/alter_table-test.cc:159
@   0x4312e3  
kudu::AlterTableTest_TestRestartTSDuringAlter_Test::TestBody() at 
/home/adar/Source/kudu/src/kudu/integration-tests/alter_table-test.cc:394 
(discriminator 2)
@ 0x7f4bb4ebf0f7  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f4bb4eb5f92  testing::Test::Run() at ??:0
@ 0x7f4bb4eb60d8  testing::TestInfo::Run() at ??:0
@ 0x7f4bb4eb61b5  testing::TestCase::Run() at ??:0
@ 0x7f4bb4eb6be8  testing::internal::UnitTestImpl::RunAllTests() at ??:0
@ 0x7f4bb4ebf667  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f4bb4eb628d  testing::UnitTest::Run() at ??:0
@ 0x7f4bb4f6e226  RUN_ALL_TESTS() at ??:0
@ 0x7f4bb4f6dc89  main at ??:0
@ 0x7f4bb2a02830  __libc_start_main at ??:0
@   0x42c689  _start at ??:?
@  (nil)  (unknown)

Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
Reviewed-on: http://gerrit.cloudera.org:8080/3475
Reviewed-by: David Ribeiro Alves 
Tested-by: Kudu Jenkins
---
M src/kudu/tablet/transactions/alter_schema_transaction.cc
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  David Ribeiro Alves: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] alter schema transaction: don't crash in ToString() when no timestamp

2016-06-23 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has posted comments on this change.

Change subject: alter_schema_transaction: don't crash in ToString() when no 
timestamp
..


Patch Set 1: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] alter schema transaction: don't crash in ToString() when no timestamp

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: alter_schema_transaction: don't crash in ToString() when no 
timestamp
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1972/

-- 
To view, visit http://gerrit.cloudera.org:8080/3475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] alter schema transaction: don't crash in ToString() when no timestamp

2016-06-23 Thread Adar Dembo (Code Review)
Hello David Ribeiro Alves,

I'd like you to do a code review.  Please visit

http://gerrit.cloudera.org:8080/3475

to review the following change.

Change subject: alter_schema_transaction: don't crash in ToString() when no 
timestamp
..

alter_schema_transaction: don't crash in ToString() when no timestamp

Saw this in a local alter_table-test failure.

I0623 14:17:50.224598 26418 transaction_tracker.cc:230] Dumping currently 
running transactions:
F0623 14:17:50.224697 26418 transaction.h:206] Check failed: timestamp_ != 
Timestamp::kInvalidTimestamp
*** Check failure stack trace: ***
@ 0x7f4bb399146d  google::LogMessage::Fail() at ??:0
@ 0x7f4bb39934d3  google::LogMessage::SendToLog() at ??:0
@ 0x7f4bb3990fca  google::LogMessage::Flush() at ??:0
@ 0x7f4bb3993f1f  google::LogMessageFatal::~LogMessageFatal() at ??:0
@ 0x7f4bb484e3f6  kudu::tablet::TransactionState::timestamp() at ??:0
@ 0x7f4bb489b804  kudu::tablet::AlterSchemaTransactionState::ToString() 
at ??:0
@ 0x7f4bb489c8f6  kudu::tablet::AlterSchemaTransaction::ToString() at 
??:0
@ 0x7f4bb489f1fd  kudu::tablet::TransactionDriver::ToStringUnlocked() 
at ??:0
@ 0x7f4bb489f132  kudu::tablet::TransactionDriver::ToString() at ??:0
@ 0x7f4bb48a6790  
kudu::tablet::TransactionTracker::WaitForAllToFinish() at ??:0
@ 0x7f4bb48a612c  
kudu::tablet::TransactionTracker::WaitForAllToFinish() at ??:0
@ 0x7f4bb4891100  kudu::tablet::TabletPeer::Shutdown() at ??:0
@ 0x7f4bb4bfc993  kudu::tserver::TSTabletManager::Shutdown() at ??:0
@ 0x7f4bb4bd11a2  kudu::tserver::TabletServer::Shutdown() at ??:0
@ 0x7f4bb4b97e71  kudu::tserver::MiniTabletServer::Shutdown() at ??:0
@ 0x7f4bb4b97f8c  kudu::tserver::MiniTabletServer::Restart() at ??:0
@   0x447c10  kudu::AlterTableTest::RestartTabletServer() at 
/home/adar/Source/kudu/src/kudu/integration-tests/alter_table-test.cc:159
@   0x4312e3  
kudu::AlterTableTest_TestRestartTSDuringAlter_Test::TestBody() at 
/home/adar/Source/kudu/src/kudu/integration-tests/alter_table-test.cc:394 
(discriminator 2)
@ 0x7f4bb4ebf0f7  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f4bb4eb5f92  testing::Test::Run() at ??:0
@ 0x7f4bb4eb60d8  testing::TestInfo::Run() at ??:0
@ 0x7f4bb4eb61b5  testing::TestCase::Run() at ??:0
@ 0x7f4bb4eb6be8  testing::internal::UnitTestImpl::RunAllTests() at ??:0
@ 0x7f4bb4ebf667  
testing::internal::HandleExceptionsInMethodIfSupported<>() at ??:0
@ 0x7f4bb4eb628d  testing::UnitTest::Run() at ??:0
@ 0x7f4bb4f6e226  RUN_ALL_TESTS() at ??:0
@ 0x7f4bb4f6dc89  main at ??:0
@ 0x7f4bb2a02830  __libc_start_main at ??:0
@   0x42c689  _start at ??:?
@  (nil)  (unknown)

Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
---
M src/kudu/tablet/transactions/alter_schema_transaction.cc
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/75/3475/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I702aa5437dec54b93a78c9415d83be0d7d07c364
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: David Ribeiro Alves 


[kudu-CR] Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Release notes for 0.9.1
..


Release notes for 0.9.1

Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Reviewed-on: http://gerrit.cloudera.org:8080/3463
Reviewed-by: Misty Stanley-Jones 
Reviewed-by: Jean-Daniel Cryans 
Tested-by: Todd Lipcon 
Reviewed-on: http://gerrit.cloudera.org:8080/3470
Tested-by: Kudu Jenkins
---
M docs/installation.adoc
M docs/release_notes.adoc
2 files changed, 34 insertions(+), 3 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3470
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9: Verified+1

Overriding apparent Java test flake. Filed 
https://issues.apache.org/jira/browse/KUDU-1496 about it. Looked at the log and 
nothing seemed it could potentially be related to this patch.

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9: Code-Review+2

Leaving unmerged in case Todd wants to rereview.

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Bump version to 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Bump version to 0.9.1
..


Bump version to 0.9.1

Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Reviewed-on: http://gerrit.cloudera.org:8080/3473
Reviewed-by: Jean-Daniel Cryans 
Tested-by: Todd Lipcon 
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 10 insertions(+), 10 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, approved
  Todd Lipcon: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3473
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.9.x) Bump version to 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: Bump version to 0.9.1
..


Patch Set 1: Verified+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3473
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Bump version to 0.9.1

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Bump version to 0.9.1
..


Patch Set 1: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3473
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Bump version to 0.9.1

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Bump version to 0.9.1
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1971/

-- 
To view, visit http://gerrit.cloudera.org:8080/3473
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Bump version to 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Hello Jean-Daniel Cryans,

I'd like you to do a code review.  Please visit

http://gerrit.cloudera.org:8080/3473

to review the following change.

Change subject: Bump version to 0.9.1
..

Bump version to 0.9.1

Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 10 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/73/3473/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3473
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ied911c99b45f9bdae20d14f0ecbe2ae9010f1476
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 


[kudu-CR] Release notes for 0.9.1

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 1: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3470
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 9:

Build Started http://104.196.14.100/job/kudu-gerrit/1970/

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Mike Percy (Code Review)
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3135

to look at the new patch set (#9).

Change subject: Allow for reserving disk space for non-Kudu processes
..

Allow for reserving disk space for non-Kudu processes

Adds gflags to reserve disk space such that Kudu will not use more than
specified. Hadoop calls this functionality "du.reserved".

If a WAL preallocation is attempted while the log disk is past its
reservation limit, the log write will fail. As a result, RaftConsensus
will cause the process to crash.

The log block manager will use non-full disks if possible until all of
the disks are full. If a flush or compaction is attempted when all disks
are beyond their configured capacity then the LogBlockManager will
return an error. As a result, the maintenance manager task will cause
the process to crash.

This initial implementation provides a "best effort" approach. Disk
space checks are only done at preallocation time, and if writes continue
beyond the preallocated point (for both a WAL segment and a data block)
those writes will not be prevented. This makes it easier to provide a
"friendly" option where the block manager will divert new writes to
non-full disks, avoiding a hard crash when only one disk is past its
reservation limit.

In the future, we may want to add "hard" and "soft" limits, such that
going beyond the soft limit will do what we do today, and going beyond
the hard limit (say, by writing a very large data block past its
preallocation point) will result in a crash.

This patch includes:

* Unit tests.
* End-to-end test for flushing / compaction falling back to non-full
  disks due to disk space backpressure and finally crashing when there
  is no space left in any data dir.
* End-to-end test for writes failing due to WAL disk space backpressure,
  causing a crash.

Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
---
M src/kudu/consensus/log-test.cc
M src/kudu/consensus/log.cc
M src/kudu/consensus/log_util.cc
M src/kudu/fs/block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/fs/log_block_manager.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/disk_reservation-itest.cc
M src/kudu/tablet/tablet_peer_mm_ops.cc
M src/kudu/util/CMakeLists.txt
A src/kudu/util/env_util-test.cc
M src/kudu/util/env_util.cc
M src/kudu/util/env_util.h
M src/kudu/util/scoped_cleanup.h
14 files changed, 613 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/35/3135/9
-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 5:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/3135/8/src/kudu/fs/block_manager-test.cc
File src/kudu/fs/block_manager-test.cc:

PS8, Line 968: 
 : #endif // defined(__linux__)
> Do we still need this sleep now that we're using a FINE clock?
No. I thought I removed it... thanks for the catch.


http://gerrit.cloudera.org:8080/#/c/3135/5/src/kudu/fs/log_block_manager.cc
File src/kudu/fs/log_block_manager.cc:

Line 1292:  
FLAGS_log_container_preallocate_bytes,
> I see your point (regarding soft vs. hard limits). So let's proceed with wh
Done


http://gerrit.cloudera.org:8080/#/c/3135/8/src/kudu/fs/log_block_manager.cc
File src/kudu/fs/log_block_manager.cc:

PS8, Line 1234: 
  :   InsertOrDie(&full_root_indexes
> Nit: it's not using indexes anymore.
Done


Line 1240:   // In case one or more root paths have hit their reserved space 
limit, we
> Why not InsertOrDie() here and below? I don't think root_paths_ can have du
You're right, it's safe to do now, after my last refactor.


PS8, Line 1302: 
  :   }
  :   RETURN_NOT_OK(s); // Catch IOErrors, etc.
  :   RETURN_NOT_OK(container->Preallocate(FLAGS_lo
> Nit: I think getting the gist of the entire line would be easier if you use
Done


-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..


lock_manager: fix TSAN error in LockTable::Resize()

This function was doing a non-atomic read of item_count_,
which is decremented outside the lock by Release().

I looped all_types-itest in TSAN which was previously
quite flaky and 50/50 passed:
http://dist-test.cloudera.org/job?job_id=todd.1466706366.9004

Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Reviewed-on: http://gerrit.cloudera.org:8080/3469
Reviewed-by: Adar Dembo 
Tested-by: Kudu Jenkins
---
M src/kudu/tablet/lock_manager.cc
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..


Patch Set 1: -Verified

Build Started http://104.196.14.100/job/kudu-gerrit/1969/

-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..


Patch Set 1:

We had a suppression on ScopedRowLock::Release originally (since we first 
introduced TSAN a couple years ago)

-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..


Patch Set 1: Code-Review+2

Which annotation was hiding this previously?

-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Hello Jean-Daniel Cryans, Misty Stanley-Jones,

I'd like you to do a code review.  Please visit

http://gerrit.cloudera.org:8080/3470

to review the following change.

Change subject: Release notes for 0.9.1
..

Release notes for 0.9.1

Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Reviewed-on: http://gerrit.cloudera.org:8080/3463
Reviewed-by: Misty Stanley-Jones 
Reviewed-by: Jean-Daniel Cryans 
Tested-by: Todd Lipcon 
---
M docs/installation.adoc
M docs/release_notes.adoc
2 files changed, 34 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/3470/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3470
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Misty Stanley-Jones 


[kudu-CR] Release notes for 0.9.1

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1968/

-- 
To view, visit http://gerrit.cloudera.org:8080/3470
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-HasComments: No


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/1967/

-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] lock manager: fix TSAN error in LockTable::Resize()

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/3469

Change subject: lock_manager: fix TSAN error in LockTable::Resize()
..

lock_manager: fix TSAN error in LockTable::Resize()

This function was doing a non-atomic read of item_count_,
which is decremented outside the lock by Release().

I looped all_types-itest in TSAN which was previously
quite flaky and 50/50 passed:
http://dist-test.cloudera.org/job?job_id=todd.1466706366.9004

Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
---
M src/kudu/tablet/lock_manager.cc
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/69/3469/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3469
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id9d57c2b36bfa794cbd786641e456ad748c60941
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Release notes for 0.9.1
..


Release notes for 0.9.1

Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Reviewed-on: http://gerrit.cloudera.org:8080/3463
Reviewed-by: Misty Stanley-Jones 
Reviewed-by: Jean-Daniel Cryans 
Tested-by: Todd Lipcon 
---
M docs/installation.adoc
M docs/release_notes.adoc
2 files changed, 34 insertions(+), 3 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, approved
  Misty Stanley-Jones: Looks good to me, but someone else must approve
  Todd Lipcon: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 3: Verified+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Jean-Daniel Cryans (Code Review)
Jean-Daniel Cryans has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 3: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Misty Stanley-Jones (Code Review)
Misty Stanley-Jones has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 3: Code-Review+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3463

to look at the new patch set (#3).

Change subject: Release notes for 0.9.1
..

Release notes for 0.9.1

Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
---
M docs/installation.adoc
M docs/release_notes.adoc
2 files changed, 34 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/3463/3
-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 3:

Build Started http://104.196.14.100/job/kudu-gerrit/1966/

-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Misty Stanley-Jones (Code Review)
Misty Stanley-Jones has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3463/1/docs/installation.adoc
File docs/installation.adoc:

Line 639: The same procedure may be used to upgrade from 0.9.0 to 0.9.1.
Change this to active voice: To upgrade from 0.9.0 to 0.9.1, use the same 
procedure as the upgrade from 0.8.0 to 0.9.0. (or something like that)


-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 8:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/3135/8/src/kudu/fs/block_manager-test.cc
File src/kudu/fs/block_manager-test.cc:

PS8, Line 968: // Let the disk-full cache expire.
 :   SleepFor(MonoDelta::FromMilliseconds(100));
Do we still need this sleep now that we're using a FINE clock?


http://gerrit.cloudera.org:8080/#/c/3135/5/src/kudu/fs/log_block_manager.cc
File src/kudu/fs/log_block_manager.cc:

Line 1292: }
> Yes, preallocation sounds a little bit broken.
I see your point (regarding soft vs. hard limits). So let's proceed with what 
you have, provided:
1. Add a note to the help for data_dirs_reserved_bytes explaining that it'll 
only work when log_container_preallocate_bytes is non-zero.
2. Add a comment here explaining the "preallocation size as number of bytes we 
think we're about to consume" inaccuracy.


http://gerrit.cloudera.org:8080/#/c/3135/8/src/kudu/fs/log_block_manager.cc
File src/kudu/fs/log_block_manager.cc:

PS8, Line 1234: Initialize the
  :   // indexes from the FullDiskCache.
Nit: it's not using indexes anymore.


Line 1240:   full_root_paths.insert(root_paths_[i]);
Why not InsertOrDie() here and below? I don't think root_paths_ can have 
duplicates, can it?


PS8, Line 1302: "Log block manager: Insufficient disk space under path "
  :<< container->root_path() << ": Creation of 
new data blocks under this path "
  :<< "can be retried after " << 
FLAGS_log_block_manager_full_disk_cache_seconds
  :<< " seconds: " << s.ToString();
Nit: I think getting the gist of the entire line would be easier if you used 
Substitute() to build it.


http://gerrit.cloudera.org:8080/#/c/3135/5/src/kudu/util/env_util.cc
File src/kudu/util/env_util.cc:

Line 46: TAG_FLAG(disk_reserved_prefixes_with_bytes_free_for_testing, unsafe);
> I'm changing them in the integration tests.
Ah, didn't notice that.


-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Todd Lipcon (Code Review)
Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3463

to look at the new patch set (#2).

Change subject: Release notes for 0.9.1
..

Release notes for 0.9.1

Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
---
M docs/installation.adoc
M docs/release_notes.adoc
2 files changed, 34 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/3463/2
-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.9.x) Release notes for 0.9.1

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Release notes for 0.9.1
..


Patch Set 2:

Build Started http://104.196.14.100/job/kudu-gerrit/1965/

-- 
To view, visit http://gerrit.cloudera.org:8080/3463
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I797980d105e0e1000420aedf58e094f9505053c6
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) KUDU-1473: fix some tablet lock usage in CatalogManager

2016-06-23 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged.

Change subject: KUDU-1473: fix some tablet lock usage in CatalogManager
..


KUDU-1473: fix some tablet lock usage in CatalogManager

This was probably due to the refactoring done in commit 59ff89d. Now that
we're releasing tablet write locks as early as possible, we need to
reacquire them (in read mode) for some operations.

The lock misuse reared its head most often in the Java test
TestKuduTable.testGetLocations, but could trigger in just about any test
that didn't wait for table creation to finish before accessing the table.
For example, CreateTableITest.TestCreateWhenMajorityOfReplicasFailCreation
was a little flaky too. The backtrace was always the same:

cow_object.h:82] Check failed: lock_.HasReaders() || lock_.HasWriteLock()
@ 0x7fecb643e37b  kudu::CowObject<>::state() at ??:0
@ 0x7fecb6422fe9  
kudu::master::CatalogManager::ProcessPendingAssignments() at ??:0
@ 0x7fecb6421d3a  kudu::master::CatalogManagerBgTasks::Run() at ??:0
@ 0x7fecb645c1f7  boost::_mfi::mf0<>::operator()() at ??:0
@ 0x7fecb645c15b  boost::_bi::list1<>::operator()<>() at ??:0
@ 0x7fecb645c104  boost::_bi::bind_t<>::operator()() at ??:0
@ 0x7fecb645bf2a  
boost::detail::function::void_function_obj_invoker0<>::invoke() at ??:0
@ 0x7fecb0b66d82  boost::function0<>::operator()() at ??:0
@ 0x7fecafba96c0  kudu::Thread::SuperviseThread() at ??:0
@   0x423faa  __tsan_thread_start_func at ??:0
@ 0x7fecb28459d1  start_thread at ??:0
@ 0x7fecacd108fd  clone at ??:0

Note: on branch-0.9.x, SendDeleteTabletRequest() does not need to acquire a
tablet lock because it still uses the per-tablet replica cache which has
since been removed on master.

Change-Id: I8e24f6035f4d778995ea3f295396f5fbd760d6c6
Reviewed-on: http://gerrit.cloudera.org:8080/3309
Reviewed-by: Mike Percy 
Tested-by: Adar Dembo 
(cherry picked from commit 679c6b2c93313bd4371916678b4ea8f52b621a50)
Reviewed-on: http://gerrit.cloudera.org:8080/3460
Tested-by: Kudu Jenkins
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
2 files changed, 33 insertions(+), 22 deletions(-)

Approvals:
  Mike Percy: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3460
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8e24f6035f4d778995ea3f295396f5fbd760d6c6
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 


[kudu-CR] Allow for reserving disk space for non-Kudu processes

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: Allow for reserving disk space for non-Kudu processes
..


Patch Set 8:

Build Started http://104.196.14.100/job/kudu-gerrit/1964/

-- 
To view, visit http://gerrit.cloudera.org:8080/3135
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0451d4dbddc1783019a53302de0263080939c7
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet startup

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: KUDU-1477. Pending COMMIT message for failed write operation 
can prevent tablet startup
..


Patch Set 2: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3464
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.9.x) KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet startup

2016-06-23 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1477. Pending COMMIT message for failed write operation 
can prevent tablet startup
..


KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet 
startup

This fixes a bug seen in a recent YCSB stress test that I ran
in which I was accidentally writing tens of thousands of duplicate
keys per second. After a tablet server restarted, it failed to come
up due to a pending commit which referred to no mutated stores
(e.g. because all of the operations were duplicate key inserts).

This patch tweaks the logic for this safety check: a commit with no
mutated stores trivially has "no active stores". However, that's not
the same as having "only inactive stores" -- the subtlety is in the
difference in behavior when a commit has no stores at all.

The patch adds a new targeted test in tablet_bootstrap-test as well as
a more end-to-end test in ts_recovery-itest. Both reproduced the bug
reliably before this patch.

Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Reviewed-on: http://gerrit.cloudera.org:8080/3321
Tested-by: Kudu Jenkins
Reviewed-by: David Ribeiro Alves 
(cherry picked from commit 6894438a406a635dc8a8f3bd77862294163cc7fb)
Reviewed-on: http://gerrit.cloudera.org:8080/3464
Reviewed-by: Todd Lipcon 
---
M src/kudu/consensus/log-test-base.h
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/integration-tests/test_workload.cc
M src/kudu/integration-tests/test_workload.h
M src/kudu/integration-tests/ts_recovery-itest.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_bootstrap.cc
7 files changed, 148 insertions(+), 23 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3464
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.9.x) KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet startup

2016-06-23 Thread Todd Lipcon (Code Review)
Hello David Ribeiro Alves, Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

http://gerrit.cloudera.org:8080/3464

to look at the new patch set (#2).

Change subject: KUDU-1477. Pending COMMIT message for failed write operation 
can prevent tablet startup
..

KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet 
startup

This fixes a bug seen in a recent YCSB stress test that I ran
in which I was accidentally writing tens of thousands of duplicate
keys per second. After a tablet server restarted, it failed to come
up due to a pending commit which referred to no mutated stores
(e.g. because all of the operations were duplicate key inserts).

This patch tweaks the logic for this safety check: a commit with no
mutated stores trivially has "no active stores". However, that's not
the same as having "only inactive stores" -- the subtlety is in the
difference in behavior when a commit has no stores at all.

The patch adds a new targeted test in tablet_bootstrap-test as well as
a more end-to-end test in ts_recovery-itest. Both reproduced the bug
reliably before this patch.

Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Reviewed-on: http://gerrit.cloudera.org:8080/3321
Tested-by: Kudu Jenkins
Reviewed-by: David Ribeiro Alves 
(cherry picked from commit 6894438a406a635dc8a8f3bd77862294163cc7fb)
---
M src/kudu/consensus/log-test-base.h
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/integration-tests/test_workload.cc
M src/kudu/integration-tests/test_workload.h
M src/kudu/integration-tests/ts_recovery-itest.cc
M src/kudu/tablet/tablet_bootstrap-test.cc
M src/kudu/tablet/tablet_bootstrap.cc
7 files changed, 148 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/64/3464/2
-- 
To view, visit http://gerrit.cloudera.org:8080/3464
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR](branch-0.9.x) KUDU-1477. Pending COMMIT message for failed write operation can prevent tablet startup

2016-06-23 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: KUDU-1477. Pending COMMIT message for failed write operation 
can prevent tablet startup
..


Patch Set 2:

Build Started http://104.196.14.100/job/kudu-gerrit/1963/

-- 
To view, visit http://gerrit.cloudera.org:8080/3464
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8ecf8d780de1aa89fae4e0510d8291eb1f1cee11
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.9.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No