Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18255 )
Change subject: KUDU-3197 [tserver] optimal Schema's memory used, using std::shared_ptr ...................................................................... KUDU-3197 [tserver] optimal Schema's memory used, using std::shared_ptr Change TabletMeta's variable Schema* to std::shared_ptr<Schema> to reduce memory used when alter schema. Because TabletMeta save old_schemas to reserve the elder schemas when alter schema, maybe they have been used by scanners or compaction jobs. As jira KUDU-3197 said, frequently alter schema will lead to tserver's memory becomes very large, just like memory leak, especially column's number is very large. The jira issued by wangningito, and I continue his work, and now use std::shared_ptr instead of scoped_refptr<Schema>, because scoped_refptr<Schema> causes too many changes, just as: https://gerrit.cloudera.org/c/18098/ Change-Id: Ic284dde108c49130419d876c6698b40c195e9b35 Reviewed-on: http://gerrit.cloudera.org:8080/18255 Tested-by: Kudu Jenkins Reviewed-by: Andrew Wong <[email protected]> --- M src/kudu/client/client-test.cc M src/kudu/common/schema.h M src/kudu/integration-tests/linked_list-test-util.h M src/kudu/master/sys_catalog.cc M src/kudu/tablet/all_types-scan-correctness-test.cc M src/kudu/tablet/cfile_set.cc M src/kudu/tablet/cfile_set.h M src/kudu/tablet/diff_scan-test.cc M src/kudu/tablet/diskrowset.cc M src/kudu/tablet/mt-tablet-test.cc M src/kudu/tablet/ops/alter_schema_op.cc M src/kudu/tablet/ops/alter_schema_op.h M src/kudu/tablet/ops/op.h M src/kudu/tablet/ops/write_op.h M src/kudu/tablet/rowset_metadata.h M src/kudu/tablet/tablet-schema-test.cc M src/kudu/tablet/tablet-test-util.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metadata.cc M src/kudu/tablet/tablet_metadata.h M src/kudu/tablet/tablet_replica-test.cc M src/kudu/tools/kudu-tool-test.cc M src/kudu/tools/tool_action_fs.cc M src/kudu/tools/tool_action_local_replica.cc M src/kudu/tserver/scanners.cc M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver_path_handlers.cc 30 files changed, 161 insertions(+), 149 deletions(-) Approvals: Kudu Jenkins: Verified Andrew Wong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/18255 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ic284dde108c49130419d876c6698b40c195e9b35 Gerrit-Change-Number: 18255 Gerrit-PatchSet: 13 Gerrit-Owner: Yuqi Du <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Yingchun Lai <[email protected]> Gerrit-Reviewer: Yuqi Du <[email protected]>
