Yuqi Du has uploaded this change for review. ( 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. wangningito has proposed a simple solution at https://gerrit.cloudera.org/c/16508/. And I continue wangningito's 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/ Conflicts: src/kudu/master/sys_catalog.cc src/kudu/tablet/tablet.cc src/kudu/tablet/tablet_metadata.cc src/kudu/tserver/tablet_service.cc Change-Id: Ic284dde108c49130419d876c6698b40c195e9b35 --- 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/rowset_metadata.h M src/kudu/tablet/tablet-schema-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h 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 27 files changed, 138 insertions(+), 139 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/55/18255/1 -- 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: newchange Gerrit-Change-Id: Ic284dde108c49130419d876c6698b40c195e9b35 Gerrit-Change-Number: 18255 Gerrit-PatchSet: 1 Gerrit-Owner: Yuqi Du <[email protected]>
