You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2018/08/23 17:23:03 UTC

[kudu-CR] error manager: rename error types

Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/11303


Change subject: error_manager: rename error types
......................................................................

error_manager: rename error types

The previous ErrorHandlerType enum names weren't very descriptive, and
reflected the expected error handling (e.g. fail a disk, fail a tablet),
rather than the error itself. In preparation of adding a new error
ErrorHandlerType for CFile checksum errors, this patch attempts to
clarify usage of the FsErrorManager.

While I was in the area, I updated the error manager to use a map to
store its error-handling callbacks, as I intend on adding another error
type.

Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
---
M src/kudu/fs/error_manager-test.cc
M src/kudu/fs/error_manager.cc
M src/kudu/fs/error_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/log_block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/tserver/tablet_server.cc
8 files changed, 88 insertions(+), 101 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>

[kudu-CR] error manager: rename error types

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h
File src/kudu/gutil/map-util.h:

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h@457
PS4, Line 457:   typedef typename Collection::mapped_type mapped_type;
             :   auto it = collection->find(key);
             :   if (it == collection->end()) {
             :     collection->emplace(key, std::forward<mapped_type>(value));
             :     return true;
             :   }
             :   it->second = std::forward<mapped_type>(value);
             :   return false;
> Ah, yeah seems indeed we can't presume:
I spent some time on this but couldn't make it work.

For one, forwarding args to emplace() seems to destroy the args, even if emplace() fails. You observed this as well.
For two, doing find()/emplace() is tricky because I couldn't get the move assignment to work in the event that find() returns an existing element.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Tue, 28 Aug 2018 18:44:41 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h
File src/kudu/gutil/map-util.h:

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h@457
PS4, Line 457:   typedef typename Collection::mapped_type mapped_type;
             :   auto it = collection->find(key);
             :   if (it == collection->end()) {
             :     collection->emplace(key, std::forward<mapped_type>(value));
             :     return true;
             :   }
             :   it->second = std::forward<mapped_type>(value);
             :   return false;
Why isn't this implemented more like InsertOrUpdate? Like:

  std::pair<typename Collection::iterator, bool> ret = collection->emplace(std::forward<Args>(args)...);
  if (!ret.second) {
    // update
    ret.first->second = ...
    return false;
  }
  return true;

I guess for this to work the function signature has to take the variadic rvalue reference form. I struggled with the ... but I presume if no insert occurred, you could forward 'args' again.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Mon, 27 Aug 2018 22:18:26 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................

error_manager: rename error types

The previous ErrorHandlerType enum names weren't very descriptive, and
reflected the expected error handling (e.g. fail a disk, fail a tablet),
rather than the error itself. In preparation of adding a new error
ErrorHandlerType for CFile checksum errors, this patch attempts to
clarify usage of the FsErrorManager.

As I intend on adding another error type, I updated the error manager to
use a map to store its error-handling callbacks, and added a map utility
function to facilitate this.

Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Reviewed-on: http://gerrit.cloudera.org:8080/11303
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
---
M src/kudu/fs/error_manager-test.cc
M src/kudu/fs/error_manager.cc
M src/kudu/fs/error_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/log_block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/gutil/map-util.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/util/map-util-test.cc
10 files changed, 120 insertions(+), 108 deletions(-)

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

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 7
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot

[kudu-CR] error manager: rename error types

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.cc
File src/kudu/fs/error_manager.cc:

http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.cc@44
PS1, Line 44:   InsertOrUpdate(&callbacks_, e, std::move(cb));
> warning: passing result of std::move() as a const reference argument; no mo
You're going to need to use EmplaceOrUpdate here, or add it to map-util.h if it doesn't exist.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Fri, 24 Aug 2018 18:01:35 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Grant Henke, 

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

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

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

Change subject: error_manager: rename error types
......................................................................

error_manager: rename error types

The previous ErrorHandlerType enum names weren't very descriptive, and
reflected the expected error handling (e.g. fail a disk, fail a tablet),
rather than the error itself. In preparation of adding a new error
ErrorHandlerType for CFile checksum errors, this patch attempts to
clarify usage of the FsErrorManager.

As I intend on adding another error type, I updated the error manager to
use a map to store its error-handling callbacks, and added a map utility
function to facilitate this.

Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
---
M src/kudu/fs/error_manager-test.cc
M src/kudu/fs/error_manager.cc
M src/kudu/fs/error_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/log_block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/gutil/map-util.h
M src/kudu/tserver/tablet_server.cc
9 files changed, 118 insertions(+), 105 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Grant Henke, 

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

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

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

Change subject: error_manager: rename error types
......................................................................

error_manager: rename error types

The previous ErrorHandlerType enum names weren't very descriptive, and
reflected the expected error handling (e.g. fail a disk, fail a tablet),
rather than the error itself. In preparation of adding a new error
ErrorHandlerType for CFile checksum errors, this patch attempts to
clarify usage of the FsErrorManager.

As I inted on adding another error type, I updated the error manager to
use a map to store its error-handling callbacks, and added a map utility
function to facilitate this.

Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
---
M src/kudu/fs/error_manager-test.cc
M src/kudu/fs/error_manager.cc
M src/kudu/fs/error_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/log_block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/gutil/map-util.h
M src/kudu/tserver/tablet_server.cc
9 files changed, 116 insertions(+), 101 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot

[kudu-CR] error manager: rename error types

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h
File src/kudu/gutil/map-util.h:

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h@457
PS4, Line 457:   typedef typename Collection::mapped_type mapped_type;
             :   auto it = collection->find(key);
             :   if (it == collection->end()) {
             :     collection->emplace(key, std::forward<mapped_type>(value));
             :     return true;
             :   }
             :   it->second = std::forward<mapped_type>(value);
             :   return false;
> What's tricky about passing the variadic rvalues is that we're passing in t
K.

FWIW, one of my in-flight patches introduces the following Emplace* method:

  template <class Collection, class... Args>
  typename Collection::mapped_type&
  LookupOrEmplace(Collection* const collection,
                  Args&&... args) {
    return collection->emplace(std::forward<Args>(args)...).first->second;
  }



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Mon, 27 Aug 2018 22:58:38 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 6:

Rebased, but didn't change the implementation. Still not sure whether we can get around the double std::forward<>ing.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Tue, 28 Aug 2018 18:43:09 +0000
Gerrit-HasComments: No

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h
File src/kudu/gutil/map-util.h:

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h@457
PS4, Line 457:   typedef typename Collection::mapped_type mapped_type;
             :   auto it = collection->find(key);
             :   if (it == collection->end()) {
             :     collection->emplace(key, std::forward<mapped_type>(value));
             :     return true;
             :   }
             :   it->second = std::forward<mapped_type>(value);
             :   return false;
> Why isn't this implemented more like InsertOrUpdate? Like:
What's tricky about passing the variadic rvalues is that we're passing in the Collection::value_type (i.e. the key-value pair), and we want to set `ret.first->second` to the Collection::mapped_type (i.e. the value of the key-value pair). I attempted to do this in CR2 and CR3,  but maybe I did it wrong. I'll play around with it a bit more; those revisions didn't pass the new test I added. My conclusion was that we couldn't make that presumption.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Mon, 27 Aug 2018 22:48:49 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h
File src/kudu/gutil/map-util.h:

http://gerrit.cloudera.org:8080/#/c/11303/4/src/kudu/gutil/map-util.h@457
PS4, Line 457:   typedef typename Collection::mapped_type mapped_type;
             :   auto it = collection->find(key);
             :   if (it == collection->end()) {
             :     collection->emplace(key, std::forward<mapped_type>(value));
             :     return true;
             :   }
             :   it->second = std::forward<mapped_type>(value);
             :   return false;
> K.
Ah, yeah seems indeed we can't presume:

"The element may be constructed even if there already is an element with the key in the container, in which case the newly constructed element will be destroyed immediately."

From https://en.cppreference.com/w/cpp/container/map/emplace



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Tue, 28 Aug 2018 06:29:36 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 6: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Tue, 28 Aug 2018 18:45:48 +0000
Gerrit-HasComments: No

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/11303 )

Change subject: error_manager: rename error types
......................................................................


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.h
File src/kudu/fs/error_manager.h:

http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.h@20
PS1, Line 20: #include <string>
> warning: #includes are not sorted properly [llvm-include-order]
Done


http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.cc
File src/kudu/fs/error_manager.cc:

http://gerrit.cloudera.org:8080/#/c/11303/1/src/kudu/fs/error_manager.cc@44
PS1, Line 44:   EmplaceOrUpdate(&callbacks_, e, std::move(cb));
> You're going to need to use EmplaceOrUpdate here, or add it to map-util.h i
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Sat, 25 Aug 2018 02:43:23 +0000
Gerrit-HasComments: Yes

[kudu-CR] error manager: rename error types

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Grant Henke, 

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

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

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

Change subject: error_manager: rename error types
......................................................................

error_manager: rename error types

The previous ErrorHandlerType enum names weren't very descriptive, and
reflected the expected error handling (e.g. fail a disk, fail a tablet),
rather than the error itself. In preparation of adding a new error
ErrorHandlerType for CFile checksum errors, this patch attempts to
clarify usage of the FsErrorManager.

As I intend on adding another error type, I updated the error manager to
use a map to store its error-handling callbacks, and added a map utility
function to facilitate this.

Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
---
M src/kudu/fs/error_manager-test.cc
M src/kudu/fs/error_manager.cc
M src/kudu/fs/error_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/log_block_manager-test.cc
M src/kudu/fs/log_block_manager.cc
M src/kudu/gutil/map-util.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/util/map-util-test.cc
10 files changed, 120 insertions(+), 108 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/03/11303/4
-- 
To view, visit http://gerrit.cloudera.org:8080/11303
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I377904ee51bb0f7b0f1104d7a4723f74d52e6e3f
Gerrit-Change-Number: 11303
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot