[kudu-CR] KUDU-613: Introduce new BlockCache metrics

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21389 )

Change subject: KUDU-613: Introduce new BlockCache metrics
..


Patch Set 3:

Build Aborted

http://jenkins.kudu.apache.org/job/pre_commit/132/ : ABORTED


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
Gerrit-Change-Number: 21389
Gerrit-PatchSet: 3
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Comment-Date: Sat, 11 May 2024 04:54:12 +
Gerrit-HasComments: No


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

Build Aborted

http://jenkins.kudu.apache.org/job/pre_commit/131/ : ABORTED


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 17
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Sat, 11 May 2024 04:54:11 +
Gerrit-HasComments: No


[kudu-CR] Leader rebalance ignores soft deleted tables

2024-05-10 Thread Yingchun Lai (Code Review)
Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21411 )

Change subject: Leader rebalance ignores soft deleted tables
..


Patch Set 1:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/21411/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/21411/1//COMMIT_MSG@10
PS1, Line 10: no needs too leader rebalance
nit: not needed to do leader rebalance for


http://gerrit.cloudera.org:8080/#/c/21411/1//COMMIT_MSG@12
PS1, Line 12: provide
provides


http://gerrit.cloudera.org:8080/#/c/21411/1//COMMIT_MSG@12
PS1, Line 12: path
patch


http://gerrit.cloudera.org:8080/#/c/21411/1//COMMIT_MSG@12
PS1, Line 12: configure
configuration


http://gerrit.cloudera.org:8080/#/c/21411/1/src/kudu/master/auto_leader_rebalancer.cc
File src/kudu/master/auto_leader_rebalancer.cc:

http://gerrit.cloudera.org:8080/#/c/21411/1/src/kudu/master/auto_leader_rebalancer.cc@90
PS1, Line 90: leader_rebalancing_filter_soft_deleted_tables
How about 'leader_rebalancing_ignore_soft_deleted_tables' to clarify?


http://gerrit.cloudera.org:8080/#/c/21411/1/src/kudu/master/auto_leader_rebalancer.cc@435
PS1, Line 435: catalog_manager_->GetAllTables(_infos);
GetAllTables returns a vector related to 'table_ids_map_', when 'normal' tables 
are needed, how about returning a vector related to 
'normalized_table_names_map_' which only contians non-soft-deleted tables. You 
can add a function for the purpose.


http://gerrit.cloudera.org:8080/#/c/21411/1/src/kudu/master/auto_leader_rebalancer.cc@437
PS1, Line 437: for (auto iter = table_infos.begin(); iter != table_infos.end(); 
iter++) {
nit: for (auto table_info : table_infos) { ?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1e2f37b004ed7d394e18d21cce97a2c9702adba3
Gerrit-Change-Number: 21411
Gerrit-PatchSet: 1
Gerrit-Owner: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Sat, 11 May 2024 04:21:05 +
Gerrit-HasComments: Yes


[kudu-CR] [metrics] Add metrics for tablet copy op time

2024-05-10 Thread Yingchun Lai (Code Review)
Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21356 )

Change subject: [metrics] Add metrics for tablet copy op time
..


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/21356/6/src/kudu/tserver/tablet_copy_client.h
File src/kudu/tserver/tablet_copy_client.h:

http://gerrit.cloudera.org:8080/#/c/21356/6/src/kudu/tserver/tablet_copy_client.h@197
PS6, Line 197:   const tablet::TabletMetrics* TabletMetrics() { return 
tablet_metrics_; }
Is this necessary? It seems TabletMetrics() is only used in TabletCopyClient 
class, we can access tablet_metrics_ directly.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I088f6a9a8a07ad39ca95ae8b4995ce00d1a0d00c
Gerrit-Change-Number: 21356
Gerrit-PatchSet: 6
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Sat, 11 May 2024 03:18:52 +
Gerrit-HasComments: Yes


[kudu-CR] [metrics] Add tablet level metrics for alter schema op time

2024-05-10 Thread Yingchun Lai (Code Review)
Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21300 )

Change subject: [metrics] Add tablet level metrics for alter schema op time
..


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/21300/4/src/kudu/tablet/ops/alter_schema_op.cc
File src/kudu/tablet/ops/alter_schema_op.cc:

http://gerrit.cloudera.org:8080/#/c/21300/4/src/kudu/tablet/ops/alter_schema_op.cc@158
PS4, Line 158:   auto update_metrics = [this]() {
How about making it as a ScopedCleanup, then you don't need to call it manually 
in every return.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I034fc3141349a940ee8aaac22ca90e1948fc7a6a
Gerrit-Change-Number: 21300
Gerrit-PatchSet: 4
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Sat, 11 May 2024 03:10:59 +
Gerrit-HasComments: Yes


[kudu-CR] [metrics] Add metrics for participant op time

2024-05-10 Thread Yingchun Lai (Code Review)
Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21375 )

Change subject: [metrics] Add metrics for participant op time
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/21375/1/src/kudu/tablet/ops/participant_op.cc
File src/kudu/tablet/ops/participant_op.cc:

http://gerrit.cloudera.org:8080/#/c/21375/1/src/kudu/tablet/ops/participant_op.cc@280
PS1, Line 280:   auto update_metrics = [this]() {
How about making it as a ScopedCleanup, then you don't need to call it manually 
in every return.


http://gerrit.cloudera.org:8080/#/c/21375/1/src/kudu/tablet/txn_participant-test.cc
File src/kudu/tablet/txn_participant-test.cc:

http://gerrit.cloudera.org:8080/#/c/21375/1/src/kudu/tablet/txn_participant-test.cc@248
PS1, Line 248: a
nit: an



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie25d4bee27e9ba35925634b61fb518467bb59201
Gerrit-Change-Number: 21375
Gerrit-PatchSet: 1
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Sat, 11 May 2024 02:59:46 +
Gerrit-HasComments: Yes


[kudu-CR] [metrics] Add tablet level metrics for scans op time

2024-05-10 Thread Yingchun Lai (Code Review)
Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21291 )

Change subject: [metrics] Add tablet level metrics for scans op time
..


Patch Set 3:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/21291/3/src/kudu/tserver/tablet_server-test.cc
File src/kudu/tserver/tablet_server-test.cc:

http://gerrit.cloudera.org:8080/#/c/21291/3/src/kudu/tserver/tablet_server-test.cc@2290
PS3, Line 2290: ASSERT_FALSE(wall_tmp ==
nit: ASSERT_NE or ASSERT_GT

Similar to the following 3 ASSERTs.


http://gerrit.cloudera.org:8080/#/c/21291/3/src/kudu/tserver/tablet_server-test.cc@2317
PS3, Line 2317:
Do you mind to add some comments to describe the purpose of each newly added 
tests?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I8f490cfb6f37aef60b34697100fb502374fcc503
Gerrit-Change-Number: 21291
Gerrit-PatchSet: 3
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Sat, 11 May 2024 02:48:42 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc
File src/kudu/util/slru_cache.cc:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@543
PS17, Line 543:   // Release from either the probationary or the protected 
shard.
  :   if (!e->protected_segment) {
  : probationary_shard_->Release(handle);
  :   } else {
  : protected_shard_->Release(handle);
  :   }
  : }
What guards against the following scenarios:

Scenario_0:
 * thread_A: an instance of Cache::UniqueHandle as a wrapper for entry_X is 
being destroyed
 * thread_A: while executing SLRUCacheShardPair::Release(),  finds entry_X 
isn't in the protected shard
 * thread_B: calls SLRUCacheShardPair::Lookup(), moving entry_X into the 
protected shard
 * thread_A: calls Release() on the corresponding probationary shard for entry_X

Scenario_1:
 * thread_A: an instance of Cache::UniqueHandle as a wrapper for entry_X is 
being destroyed
 * thread_A: while executing SLRUCacheShardPair::Release(), finds entry_X is in 
the protected shard
 * thread_B: calls SLRUCacheShardPair::Lookup() for some other entry_Y which is 
in the probationary shard, but due to crossing the threshold of lookup 
operations per entry, it's now being moved into the protected shard, so entry_X 
is pushed out of the protected shard
 * thread_A: calls Release() on the corresponding protected shard for entry_X

If nothing prevents from having such scenarios, then a few questions:
 * Does the contents SLRU cache stay consistent after that?
 * Do metrics of the SLRU cache stay consistent after that?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 17
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Sat, 11 May 2024 01:09:24 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 16:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/slru_cache.cc
File src/kudu/util/slru_cache.cc:

http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/slru_cache.cc@254
PS16, Line 254:  e = table_.Lookup(key, hash);
What guarantees do we have to be sure that 'table_' cannot be modified under 
the hood by concurrently running SLRUCacheShard::Insert()?  It would be great 
to add a note about that.


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/slru_cache.cc@267
PS16, Line 267:   e = table_.Lookup(key, hash);
ditto: what if Insert() is running concurrently and modifying the 'table_' -- 
what protects us from such concurrency issues?  Would be great to add a note in 
the code.


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc
File src/kudu/util/slru_cache.cc:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@273
PS17, Line 273:   bool last_reference = Unref(e);
  :   if (last_reference) {
nit: could these be joined, adding a comment on what's the intention of this 
code?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@471
PS17, Line 471:   {
What is the purpose of this extra scope?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@501
PS17, Line 501:   {
What is the purpose of this extra scope?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@552
PS17, Line 552:   {
What is the purpose of this extra scope?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@561
PS17, Line 561:   {
What is the purpose of this extra scope?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@581
PS17, Line 581:
nit:


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@601
PS17, Line 601: // Similar to STLDeleteElements().
  : auto begin = shards_.begin();
  : while (begin != shards_.end()) {
  :   auto temp = begin;
  :   ++begin;
  :   temp->reset(nullptr);
  : }
Is this really needed?  Wouldn't the contained unique_ptr be destroyed 
automatically upon the destruction of the containing vector?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@694
PS17, Line 694: uint8_t* data = reinterpret_cast(h);
  : delete [] data;
nit: could these lines be joined?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 16
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 10 May 2024 21:33:01 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/cache.h
File src/kudu/util/cache.h:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/cache.h@520
PS17, Line 520:   // Returns true if probationary segment contains key.
  :   // Returns false if not.
  :   // Only used for SLRU cache.
  :   virtual bool ProbationaryContains(const Slice& key) = 0;
  :
  :   // Returns true if protected segment contains key.
  :   // Returns false if not.
  :   // Only used for SLRU cache.
  :   virtual bool ProtectedContains(const Slice& key) = 0;
> Similar to SetSegmentMetrics(), this doesn't seem to be a place for these m
SLRUCacheShard is the right place for these, even without any extras, I don't 
see any reason to keep these specific methods in this generic interface (but I 
might be missing something).



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 17
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 10 May 2024 20:57:44 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

(16 comments)

A few more high-level observations.

http://gerrit.cloudera.org:8080/#/c/20607/16//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/20607/16//COMMIT_MSG@22
PS16, Line 22: Lookups/sec
It would be nice to mentions the following details:
  * What type of build it was?
  * What sort of machine it was: CPU cores and frequency?

It's crucial to measure this for RELEASE builds, we aren't interested to look 
at other types of builds here, I guess.


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache-bench.cc
File src/kudu/util/cache-bench.cc:

http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache-bench.cc@92
PS16, Line 92:   ret+= " SLRU";
nit for here and elsewhere: separate variable and the operator by space


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/cache.h
File src/kudu/util/cache.h:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/cache.h@520
PS17, Line 520:   // Returns true if probationary segment contains key.
  :   // Returns false if not.
  :   // Only used for SLRU cache.
  :   virtual bool ProbationaryContains(const Slice& key) = 0;
  :
  :   // Returns true if protected segment contains key.
  :   // Returns false if not.
  :   // Only used for SLRU cache.
  :   virtual bool ProtectedContains(const Slice& key) = 0;
Similar to SetSegmentMetrics(), this doesn't seem to be a place for these 
methods.


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache.h
File src/kudu/util/cache.h:

http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache.h@58
PS16, Line 58: Protects against random/long reads polluting cache.
nit: consider either making this part of the comment more generic (as it should 
be at this level) or dropping this part altogether


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache.h@91
PS16, Line 91: protected_segment
nit: should be rather named 'in_protected_segment'?


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/cache.h@116
PS16, Line 116: sanitize
style nit: since this isn't an accessor-like method, its name should be 
capitalized


http://gerrit.cloudera.org:8080/#/c/20607/14/src/kudu/util/cache.h
File src/kudu/util/cache.h:

http://gerrit.cloudera.org:8080/#/c/20607/14/src/kudu/util/cache.h@228
PS14, Line 228: // ensure this is safe, e.g. by destructing the entity that 
owned the
  : // original metrics.
  : kReset,
  :   };
  :   // Set the cache metrics to update corresponding counters 
accordingly.
  :   virtual void SetMetrics(std::unique_ptr metrics,
  :   ExistingMetricsPolicy metrics_policy) 
= 0;
  :
  :   // Sets probationary and protected segments metrics to update 
corresponding counters accordingly.
  :   //
  :   // An upgrade of one entry will increment the number of 
evictions from the probationary segment by
  :   // one and the number of insertions into the protected 
segment by one.
  :   //
  :   // A downgrade of one entry will increment the number of 
evictions from the protected segment by
  :   // one and the number of insertions into the probationary 
segment by one.
  :   //
  :   // To calculate the number of inserts for the SLRU cache, 
subtract the number of evictions
  :   // of the protected segment from the number of inserts of the 
probationary segment.
  :   //
> This will be used in the block cache to set the metrics for both segments o
OK.  But even with that, instead of polluting the interface of the base Cache 
class you could make the BlockCache class to be a template by the type of the 
underlying cache implementation, and remove both SetMetrics() and 
SetSegmentMetrics() from the common Cache interface.


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/nvm_cache.h
File src/kudu/util/nvm_cache.h:

http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/nvm_cache.h@46
PS16, Line 46:   // Number of lookups for this entry. Used for upgrading to 
protected segment in SLRU cache.
 :   // Resets to 0 when moved between probationary and protected 
segments in both directions.
 :   uint32_t lookups;
Is this really needed?  I didn't see NVM-based implementation of SLRU cache, so 
this looks a bit strange given you decided not to converge on {S}LRUHandle 
structure


http://gerrit.cloudera.org:8080/#/c/20607/16/src/kudu/util/slru_cache.h
File src/kudu/util/slru_cache.h:


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Abhishek Chennaka (Code Review)
Abhishek Chennaka has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache-test.cc
File src/kudu/util/slru_cache-test.cc:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache-test.cc@413
PS17, Line 413: evicted to probationary segment
If the probationary segment doesn't have enough free space for this new entry, 
the least recently accessed entry will be evicted to free up space - is that 
correct? If so, does it make sense to have a test case for that?


http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc
File src/kudu/util/slru_cache.cc:

http://gerrit.cloudera.org:8080/#/c/20607/17/src/kudu/util/slru_cache.cc@490
PS17, Line 490: and
nit: delete 'and'



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 17
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 10 May 2024 20:38:10 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Integrate SLRU cache into block cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21390 )

Change subject: KUDU-613: Integrate SLRU cache into block cache
..


Patch Set 2:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc
File src/kudu/cfile/block_cache.cc:

http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@235
PS2, Line 235: BlockCache::BlockCache()
 : : BlockCache(FLAGS_block_cache_capacity_mb * 1024 * 1024) {
 : }
Interesting, but why this constructor isn't updated to take care of different 
type of the underlying cache?  That's especially strange given the funny code 
below for the next constructor when the 'capacity' parameter is ignored upon 
using the SLRU type of the cache.


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@242
PS2, Line 242:  
CreateCache(FLAGS_block_cache_probationary_segment_capacity_mb * 1024 * 1024,
 :  
FLAGS_block_cache_protected_segment_capacity_mb * 1024 * 1024,
 :  
FLAGS_block_cache_lookups_before_upgrade)) {
That's a bad smell -- how 'capacity' is then used in this branch?


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@247
PS2, Line 247: BlockCache::BlockCache(size_t probationary_segment_capacity,
 :size_t protected_segment_capacity,
 :size_t lookups)
 : : cache_(CreateCache(probationary_segment_capacity, 
protected_segment_capacity, lookups)) {
 : }
With this code and the code above it smells even worse -- now there is a 
complete mess with trying to understand when a particular type of cache is 
created based on the constructor invoked and the --block_cache_eviction_policy 
setting.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I04411ab2756045f15a272f3397d46d871b087b03
Gerrit-Change-Number: 21390
Gerrit-PatchSet: 2
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Comment-Date: Fri, 10 May 2024 18:29:02 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Integrate SLRU cache into block cache

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21390 )

Change subject: KUDU-613: Integrate SLRU cache into block cache
..


Patch Set 2:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/21390/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/21390/2//COMMIT_MSG@13
PS2, Line 13: The default
: value is still the old LRU cache.
I think it's crucial to enable at least a few integration-style scenarios using 
the block cache backed by the new SLRU  implementation.

I'd think of scenarios in tablet_server_stress-test.cc, 
full_stack-insert-scan-test.cc, dense_node-itest.cc and 
heavy-update-compaction-itest.cc


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc
File src/kudu/cfile/block_cache.cc:

http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@46
PS2, Line 46: Either 'LRU' (default) or 'SLRU' (experimental
Please add a validator for the value, and make this flag case-insensitive, so 
"LRU" and "lru" both would work (as well as "lRu").


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@46
PS2, Line 46:
nit: drop the trailing space?


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@49
PS2, Line 49: block_cache_probationary_segment_capacity_mb
For this the block_cache_protected_segment_capacity_mb flag below: Does it make 
sense to add a validator for this flag to reject at least negative values?  
From the other side, why not to use unsigned type for this flag?


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@50
PS2, Line 50: MB
here and below: is this actually MiB/MiBytes?


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@58
PS2, Line 58: ,"
nit: reconsider the punctuation and the result message for the flag


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@171
PS2, Line 171:  "Lower 
--block_cache_probationary_segment_capacity_mb and"
nit: add space after 'and'


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@194
PS2, Line 194: FLAGS_block_cache_eviction_policy
Please make sure the value of this flag is treated as case-insensitive.  Doing 
that in just one place and then reusing the function that converts a string 
into a enumeration should be robust enough.


http://gerrit.cloudera.org:8080/#/c/21390/2/src/kudu/cfile/block_cache.cc@222
PS2, Line 222: ToUpperCase(FLAGS_block_cache_eviction_policy, 
_block_cache_eviction_policy);
I'm not sure it's a good idea to update the actual value of the flag like this: 
it might quite unexpected behavior from the user's perspective.  Why not to use 
a temporary variable for converting to the upper case?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I04411ab2756045f15a272f3397d46d871b087b03
Gerrit-Change-Number: 21390
Gerrit-PatchSet: 2
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Comment-Date: Fri, 10 May 2024 17:56:59 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce new BlockCache metrics

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21389 )

Change subject: KUDU-613: Introduce new BlockCache metrics
..


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/21389/2/src/kudu/util/block_cache_metrics.cc
File src/kudu/util/block_cache_metrics.cc:

PS2:
> The new metrics give us information on inserts into the protected segment o
>From the usability perspective, I'd think of all the metrics that allow for 
>computing SLRU cache's hit and miss ratios and show how many inserts and 
>evictions happened.  That's what end-user is about to look at.  Yes, most 
>likely it's possible to deduce that from counters available for the 
>probational and protected segments (but I haven't verified that), but where 
>one can find the rules to perform such computations and how many mistakes a 
>person is going to make when trying to compute those?

I'd think of providing top-level metrics for the SLRU cache as we currently 
have for the LRU cache just for better usability.


http://gerrit.cloudera.org:8080/#/c/21389/2/src/kudu/util/block_cache_metrics.cc@176
PS2, Line 176:
nit for here and below: this isn't aligned with current Kudu style guide



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
Gerrit-Change-Number: 21389
Gerrit-PatchSet: 2
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Comment-Date: Fri, 10 May 2024 17:50:01 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce new BlockCache metrics

2024-05-10 Thread Mahesh Reddy (Code Review)
Mahesh Reddy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21389 )

Change subject: KUDU-613: Introduce new BlockCache metrics
..


Patch Set 3:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/21389/2/src/kudu/util/block_cache_metrics.cc
File src/kudu/util/block_cache_metrics.cc:

PS2:
> Do we need to also have metrics for entries moving between segments?
The new metrics give us information on inserts into the protected segment of 
the block cache (block_cache_protected_segment_inserts). That lets us know how 
many entries were upgraded from the probationary segment to the protected 
segment.

They also give us information on evictions from the protected segment of the 
block cache (block_cache_protected_segment_evictions). This lets us know how 
many entries were downgraded from the protected segment to the probationary 
segment.

Are there specific metrics that are currently missing that you had in mind?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
Gerrit-Change-Number: 21389
Gerrit-PatchSet: 3
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Comment-Date: Fri, 10 May 2024 16:54:53 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-613: Introduce new BlockCache metrics

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21389 )

Change subject: KUDU-613: Introduce new BlockCache metrics
..


Patch Set 3:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/132/


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
Gerrit-Change-Number: 21389
Gerrit-PatchSet: 3
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Comment-Date: Fri, 10 May 2024 16:54:10 +
Gerrit-HasComments: No


[kudu-CR] KUDU-613: Introduce new BlockCache metrics

2024-05-10 Thread Mahesh Reddy (Code Review)
Hello Kudu Jenkins, Abhishek Chennaka, Wang Xixu,

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

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

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

Change subject: KUDU-613: Introduce new BlockCache metrics
..

KUDU-613: Introduce new BlockCache metrics

With the new SLRU cache used in the block cache,
new metrics are needed for both the probationary
and the protected segment.

Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
---
M src/kudu/util/block_cache_metrics.cc
M src/kudu/util/block_cache_metrics.h
2 files changed, 133 insertions(+), 0 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1c8181ec6bea301605aaef7db0003c3eaef3072d
Gerrit-Change-Number: 21389
Gerrit-PatchSet: 3
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>


[kudu-CR] KUDU-613: Introduce SLRU cache

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20607 )

Change subject: KUDU-613: Introduce SLRU cache
..


Patch Set 17:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/131/


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 17
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 10 May 2024 16:54:10 +
Gerrit-HasComments: No


[kudu-CR] [master] fix race in auto leader rebalancing

2024-05-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/21417 )

Change subject: [master] fix race in auto leader rebalancing
..

[master] fix race in auto leader rebalancing

It turned out that auto leader rebalancing task wasn't explicitly
shutdown upon shutting down catalog manager.  That lead to race
conditions as reported by TSAN, at least in test scenarios (see below).
This patch addresses the issue.

  WARNING: ThreadSanitizer: data race (pid=23827)
Write of size 1 at 0x7b408208 by main thread:
  #0 AnnotateRWLockDestroy 
thirdparty/src/llvm-11.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp:264
 (auto_rebalancer-test+0x33575e)
  #1 kudu::rw_spinlock::~rw_spinlock() src/kudu/util/locks.h:89:5 
(libmaster.so+0x359376)
  #2 kudu::master::TSManager::~TSManager() 
src/kudu/master/ts_manager.cc:108:1 (libmaster.so+0x4ad201)
  #3 kudu::master::TSManager::~TSManager() 
src/kudu/master/ts_manager.cc:107:25 (libmaster.so+0x4ad229)
  #4 
std::__1::default_delete::operator()(kudu::master::TSManager*)
 const thirdparty/installed/tsan/include/c++/v1/memory:2262:5 
(libmaster.so+0x407ce7)
  #5 std::__1::unique_ptr 
>::reset(kudu::master::TSManager*) 
thirdparty/installed/tsan/include/c++/v1/memory:2517:7 (libmaster.so+0x40157d)
  #6 std::__1::unique_ptr >::~unique_ptr() 
thirdparty/installed/tsan/include/c++/v1/memory:2471:19 (libmaster.so+0x4015eb)
  #7 kudu::master::Master::~Master() src/kudu/master/master.cc:263:1 
(libmaster.so+0x3f7a4a)
  #8 kudu::master::Master::~Master() src/kudu/master/master.cc:261:19 
(libmaster.so+0x3f7dc9)
  #9 
std::__1::default_delete::operator()(kudu::master::Master*)
 const thirdparty/installed/tsan/include/c++/v1/memory:2262:5 
(libmaster.so+0x435627)
  #10 std::__1::unique_ptr >::reset(kudu::master::Master*) 
thirdparty/installed/tsan/include/c++/v1/memory:2517:7 (libmaster.so+0x42e6ed)
  #11 kudu::master::MiniMaster::Shutdown() 
src/kudu/master/mini_master.cc:120:13 (libmaster.so+0x4c2612)
...
Previous atomic write of size 4 at 0x7b408208 by thread T439 (mutexes: 
write M1141235379631443968):
  #0 __tsan_atomic32_compare_exchange_strong 
thirdparty/src/llvm-11.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp:780
 (auto_rebalancer-test+0x33eb60)
  #1 base::subtle::Release_CompareAndSwap(int volatile*, int, int) 
/src/kudu/gutil/atomicops-internals-tsan.h:88:3 (libmaster.so+0x2e2b34)
  #2 kudu::rw_semaphore::unlock_shared() src/kudu/util/rw_semaphore.h:91:19 
(libmaster.so+0x2e29c8)
  #3 kudu::rw_spinlock::unlock_shared() src/kudu/util/locks.h:99:10 
(libmaster.so+0x2e28ef)
  #4 std::__1::shared_lock::~shared_lock() 
/thirdparty/installed/tsan/include/c++/v1/shared_mutex:369:19 
(libmaster.so+0x2e23e0)
  #5 
kudu::master::TSManager::GetAllDescriptors(std::__1::vector,
 std::__1::allocator > >*) 
const src/kudu/master/ts_manager.cc:206:1 (libmaster.so+0x4adeb6)
  #6 kudu::master::AutoLeaderRebalancerTask::RunLeaderRebalancer() 
src/kudu/master/auto_leader_rebalancer.cc:405:16 (libmaster.so+0x2fb51b)
  #7 kudu::master::AutoLeaderRebalancerTask::RunLoop() 
src/kudu/master/auto_leader_rebalancer.cc:445:7 (libmaster.so+0x2fbaa9)

This is a follow-up to 10efaf2c77dfe5e4474505e0267c583c011703be.

Change-Id: Iccd66d00280d22b37386230874937e5260f07f3b
Reviewed-on: http://gerrit.cloudera.org:8080/21417
Reviewed-by: Wang Xixu <1450306...@qq.com>
Tested-by: Alexey Serbin 
Reviewed-by: Yifan Zhang 
---
M src/kudu/master/auto_leader_rebalancer.cc
M src/kudu/master/catalog_manager.cc
2 files changed, 9 insertions(+), 1 deletion(-)

Approvals:
  Wang Xixu: Looks good to me, but someone else must approve
  Alexey Serbin: Verified
  Yifan Zhang: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iccd66d00280d22b37386230874937e5260f07f3b
Gerrit-Change-Number: 21417
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21385 )

Change subject: [glog] Fix minidump-test for cold symbols.
..


Patch Set 3: Verified+1

Build Successful

http://jenkins.kudu.apache.org/job/pre_commit/130/ : SUCCESS


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 3
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 May 2024 14:58:42 +
Gerrit-HasComments: No


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Zoltan Martonka (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [glog] Fix minidump-test for cold symbols.
..

[glog] Fix minidump-test for cold symbols.

glog 0.6.0 cannot reliably resolve cold symbols. This was only fixed in
recent versions:
https://github.com/google/glog/issues/869

This might cause ASSERT_DEATH checks to fail in minidump-test. The long
term solution would be to updata to 0.7.0:
https://issues.apache.org/jira/browse/KUDU-3572

One affected platform is RHEL 9.3 with default g++.

Change-Id: I18d88790d09e9763223a767617794332859cbfad
---
M src/kudu/util/minidump-test.cc
1 file changed, 10 insertions(+), 3 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 2
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21385 )

Change subject: [glog] Fix minidump-test for cold symbols.
..


Patch Set 3:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/130/


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 3
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 May 2024 14:07:29 +
Gerrit-HasComments: No


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Zoltan Martonka (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [glog] Fix minidump-test for cold symbols.
..

[glog] Fix minidump-test for cold symbols.

glog 0.6.0 cannot reliably resolve cold symbols. This was only fixed in
recent versions:
https://github.com/google/glog/issues/869

This might cause ASSERT_DEATH checks to fail in minidump-test. The long
term solution would be to update to 0.7.0:
https://issues.apache.org/jira/browse/KUDU-3572

One affected platform is RHEL 9.3 with default g++.

Change-Id: I18d88790d09e9763223a767617794332859cbfad
---
M src/kudu/util/minidump-test.cc
1 file changed, 10 insertions(+), 3 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 3
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21385 )

Change subject: [glog] Fix minidump-test for cold symbols.
..


Patch Set 2:

Build Aborted

http://jenkins.kudu.apache.org/job/pre_commit/129/ : ABORTED


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 2
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 May 2024 14:07:23 +
Gerrit-HasComments: No


[kudu-CR] [glog] Fix minidump-test for cold symbols.

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21385 )

Change subject: [glog] Fix minidump-test for cold symbols.
..


Patch Set 2:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/129/


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I18d88790d09e9763223a767617794332859cbfad
Gerrit-Change-Number: 21385
Gerrit-PatchSet: 2
Gerrit-Owner: Zoltan Martonka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 May 2024 14:06:09 +
Gerrit-HasComments: No


[kudu-CR] [security-flags-itest] Fix missing command line flags

2024-05-10 Thread Code Review
Ádám Bakai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21399 )

Change subject: [security-flags-itest] Fix missing command line flags
..


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/21399/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/21399/2//COMMIT_MSG@7
PS2, Line 7: [security-flags-itest] Fix missing command line flags
> Could give some description about this problem?
Done


http://gerrit.cloudera.org:8080/#/c/21399/2/src/kudu/integration-tests/security-flags-itest.cc
File src/kudu/integration-tests/security-flags-itest.cc:

http://gerrit.cloudera.org:8080/#/c/21399/2/src/kudu/integration-tests/security-flags-itest.cc@52
PS2, Line 52: This happened on Ubuntu 22.04
:   // release build.
> Could you create an issue to describe the error stack?
I expanded the explanation to make it clearer.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iec751e8761562612d97b886740c9b20cd134a0bc
Gerrit-Change-Number: 21399
Gerrit-PatchSet: 2
Gerrit-Owner: Ádám Bakai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Anonymous Coward (763)
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Ádám Bakai 
Gerrit-Comment-Date: Fri, 10 May 2024 12:32:38 +
Gerrit-HasComments: Yes


[kudu-CR] [wip][build] KUDU-3551 Upgrade gradle to 7.6.4

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21030 )

Change subject: [wip][build] KUDU-3551 Upgrade gradle to 7.6.4
..


Patch Set 14: Verified-1

Build Failed

http://jenkins.kudu.apache.org/job/pre_commit/128/ : FAILURE


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I915dab011aba633d55a79c72ea6f459d703d7f47
Gerrit-Change-Number: 21030
Gerrit-PatchSet: 14
Gerrit-Owner: Zoltan Chovan 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Zoltan Chovan 
Gerrit-Reviewer: Zoltan Martonka 
Gerrit-Comment-Date: Fri, 10 May 2024 09:55:19 +
Gerrit-HasComments: No


[kudu-CR] [master] fix race in auto leader rebalancing

2024-05-10 Thread Yifan Zhang (Code Review)
Yifan Zhang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21417 )

Change subject: [master] fix race in auto leader rebalancing
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iccd66d00280d22b37386230874937e5260f07f3b
Gerrit-Change-Number: 21417
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Comment-Date: Fri, 10 May 2024 09:07:07 +
Gerrit-HasComments: No


[kudu-CR] [wip][build] KUDU-3551 Upgrade gradle to 7.6.4

2024-05-10 Thread Zoltan Chovan (Code Review)
Hello Marton Greber, Alexey Serbin, Zoltan Martonka, Attila Bukor, Kudu 
Jenkins, Abhishek Chennaka,

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

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

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

Change subject: [wip][build] KUDU-3551 Upgrade gradle to 7.6.4
..

[wip][build] KUDU-3551 Upgrade gradle to 7.6.4

*   Gradle version has been upgraded to 7.6.4 from 6.8.3, both in the
dependencies declaration and the actual wrapper code itself
(/java/gradlew)
*   Removed jcenter from list of repositories -

https://docs.gradle.org/6.9.2/userguide/upgrading_version_6.html?_gl=1*1xt1kk*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODU2MS41NC4wLjA.#jcenter_deprecation
*   Replaced compile and testCompile configurations with implementation
and testImplementation respectively -

https://docs.gradle.org/6.9.2/userguide/upgrading_version_5.html?_gl=1*1ldn5ls*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODY1My40NS4wLjA.#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
*   Replaced extension methods with archiveExtension -

https://docs.gradle.org/6.9.2/dsl/org.gradle.api.tasks.bundling.AbstractArchiveTask.html?_gl=1*1ldn5ls*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODY1My40NS4wLjA.#org.gradle.api.tasks.bundling.AbstractArchiveTask:extension
*   Removed scopes.gradle and the propdeps plugin as optional and
provided scopes are no longer supported/working in Gradle7, these
have been replaced by either compileOnly
*   Upgraded scalafmt version -
https://github.com/alenkacz/gradle-scalafmt/issues/39
*   Pinned the scalafmt config to version 1.5.1 to avoid the new
formatting errors that popped up with the new scalafmt version
*   Upgraded Spark3 version to 3.2.4 to solve Guava related compilation
errors (some classes have been deprecated and removed, which led to
compilation failure)
*   Added LogCaptor to resolve issues with CapturingLogAppender, which
stopped working in the Scala tests, fixing was taking too much time
so this was implemented as a workaround, it only affected 4 tests
in TestKuduBackup.scala, if the CLA errors are fixed later, the
dependency can be removed and the test changes reverted.
*   As the legacy maven plugin was removed, the signing and publishing
has been rewritten using the new maven-publish plugin. I tested the
signing and publishing with a locally hosted Maven repository,
however this needs further testing and confirmation from a commiter
to ensure it works as expected. The new plugin uses a different
task to publish the artifacts (publish instead of uploadArchives)
an alias was created to keep backwards compatibility with existing
docs/scripts.
*   The permissions for assign-location.py script were updated, as
previously the permissions of it's symlink were copied, but that
changed in the new gradle version and the original (non executable)
permissions led to test failures.
*   The shadow plugin ran into a known error which was fixed as
recommended -

https://docs.gradle.org/7.6.4/dsl/org.gradle.api.tasks.bundling.Zip.html#org.gradle.api.tasks.bundling.Zip:zip64
*   Two tasks were updated in the shadow.gradle file as well, this
needs another round of verification after the jars are built
correctly
*   Dependency scopes were only modified when necessary (compilation
failure)

Still existing problem:

*   The jars generated currently do not pass the verify\_jars.pl script
as there's a bunch of extra classes and files packaged into them
than previously. The only reason that I was able to find for this
is that the sources collected for the artifacts are determined
differently in gradle 7
*   The extensive dependency exclusions that can be seen are the quick
and dirty fixes, I'm not happy with this solution but I've yet to
find another, recommendations and comment are welcome on this part.

Change-Id: I915dab011aba633d55a79c72ea6f459d703d7f47
---
M java/.scalafmt.conf
M java/build.gradle
M java/buildSrc/build.gradle
M java/gradle/artifacts.gradle
M java/gradle/dependencies.gradle
M java/gradle/publishing.gradle
M java/gradle/quality.gradle
D java/gradle/scopes.gradle
M java/gradle/shadow.gradle
M java/gradle/wrapper/gradle-wrapper.properties
M java/gradlew
M java/kudu-backup-common/build.gradle
M java/kudu-backup-tools/build.gradle
M java/kudu-backup/build.gradle
M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
M java/kudu-client/build.gradle
M java/kudu-hive/build.gradle
M java/kudu-jepsen/build.gradle
M java/kudu-proto/build.gradle
M java/kudu-spark-tools/build.gradle
M java/kudu-spark/build.gradle
M java/kudu-subprocess/build.gradle
M java/kudu-test-utils/build.gradle
M 

[kudu-CR] [wip][build] KUDU-3551 Upgrade gradle to 7.6.4

2024-05-10 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21030 )

Change subject: [wip][build] KUDU-3551 Upgrade gradle to 7.6.4
..


Patch Set 14:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/128/


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I915dab011aba633d55a79c72ea6f459d703d7f47
Gerrit-Change-Number: 21030
Gerrit-PatchSet: 14
Gerrit-Owner: Zoltan Chovan 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Zoltan Chovan 
Gerrit-Reviewer: Zoltan Martonka 
Gerrit-Comment-Date: Fri, 10 May 2024 09:00:13 +
Gerrit-HasComments: No