Skip to content

Commit 5804d00

Browse files
Remove dead code from class StorageManager (#4665)
* Remove member variables and code to track open groups. The resulting container was not used for any purpose outside of `Debug` builds, and of very limited utility within them. * Remove unreferenced member variable `xlock_cv_`. This PR supports the goal of shrinking the storage manager. --- TYPE: NO_HISTORY DESC: Remove dead code from `class StorageManager`
1 parent b49e3aa commit 5804d00

File tree

2 files changed

+2
-35
lines changed

2 files changed

+2
-35
lines changed

tiledb/sm/storage_manager/storage_manager.cc

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -132,19 +132,12 @@ StorageManagerCanonical::~StorageManagerCanonical() {
132132
/* API */
133133
/* ****************************** */
134134

135-
Status StorageManagerCanonical::group_close_for_reads(Group* group) {
136-
assert(open_groups_.find(group) != open_groups_.end());
137-
138-
// Remove entry from open groups
139-
std::lock_guard<std::mutex> lock{open_groups_mtx_};
140-
open_groups_.erase(group);
141-
135+
Status StorageManagerCanonical::group_close_for_reads(Group*) {
136+
// Closing a group does nothing at present
142137
return Status::Ok();
143138
}
144139

145140
Status StorageManagerCanonical::group_close_for_writes(Group* group) {
146-
assert(open_groups_.find(group) != open_groups_.end());
147-
148141
// Flush the group metadata
149142
RETURN_NOT_OK(store_metadata(
150143
group->group_uri(), *group->encryption_key(), group->unsafe_metadata()));
@@ -159,11 +152,6 @@ Status StorageManagerCanonical::group_close_for_writes(Group* group) {
159152
group->group_details(),
160153
*group->encryption_key()));
161154
}
162-
163-
// Remove entry from open groups
164-
std::lock_guard<std::mutex> lock{open_groups_mtx_};
165-
open_groups_.erase(group);
166-
167155
return Status::Ok();
168156
}
169157

@@ -1738,10 +1726,6 @@ StorageManagerCanonical::group_open_for_reads(Group* group) {
17381726
load_group_details(group->group_directory(), *group->encryption_key());
17391727
RETURN_NOT_OK_TUPLE(st, std::nullopt);
17401728

1741-
// Mark the array as now open
1742-
std::lock_guard<std::mutex> lock{open_groups_mtx_};
1743-
open_groups_.insert(group);
1744-
17451729
if (group_deserialized.has_value()) {
17461730
return {Status::Ok(), group_deserialized.value()};
17471731
}
@@ -1760,10 +1744,6 @@ StorageManagerCanonical::group_open_for_writes(Group* group) {
17601744
load_group_details(group->group_directory(), *group->encryption_key());
17611745
RETURN_NOT_OK_TUPLE(st, std::nullopt);
17621746

1763-
// Mark the array as now open
1764-
std::lock_guard<std::mutex> lock{open_groups_mtx_};
1765-
open_groups_.insert(group);
1766-
17671747
if (group_deserialized.has_value()) {
17681748
return {Status::Ok(), group_deserialized.value()};
17691749
}

tiledb/sm/storage_manager/storage_manager_canonical.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -845,25 +845,12 @@ class StorageManagerCanonical {
845845
/** Mutex protecting cancellation_in_progress_. */
846846
std::mutex cancellation_in_progress_mtx_;
847847

848-
/**
849-
* The condition variable for exlcusively locking arrays. This is used
850-
* to wait for an array to be closed, before being exclusively locked
851-
* by `array_xlock`.
852-
*/
853-
std::condition_variable xlock_cv_;
854-
855848
/** Mutex for providing thread-safety upon creating TileDB objects. */
856849
std::mutex object_create_mtx_;
857850

858851
/** Stores the TileDB configuration parameters. */
859852
Config config_;
860853

861-
/** Keeps track of which groups are open. */
862-
std::set<Group*> open_groups_;
863-
864-
/** Mutex for managing open groups. */
865-
std::mutex open_groups_mtx_;
866-
867854
/** Count of the number of queries currently in progress. */
868855
uint64_t queries_in_progress_;
869856

0 commit comments

Comments
 (0)