[SERVER-21333] Remove ShardRegistry::_network Created: 06/Nov/15 Updated: 14/Apr/16 Resolved: 22/Mar/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | David Storch | Assignee: | Misha Tyulenev |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Participants: | |||||||||
| Description |
|
The NetworkInterface* may not be needed, and it's uses may be able to be replaced with calls to one of the TaskExecutors owned by the ShardRegistry. |
| Comments |
| Comment by Andy Schwerin [ 07/Nov/15 ] |
|
The time we can get off the task executor, I believe. Does that help? |
| Comment by Spencer Brody (Inactive) [ 06/Nov/15 ] |
|
I believe we use the network for 2 things: getting the current time and the current machine's hostname in unittest-mockable ways. If we can make that functionality available elsewhere then we can get rid of the _network |
| Comment by David Storch [ 06/Nov/15 ] |
|
Yeah, that's still the case. This is just some minor cleanup: right now we hand ownership of one of the NetworkInterfaces off to the TaskExecutor, but the ShardRegistry needs a raw pointer to the NetworkInterface so that it can still be accessed. The cleanup is to avoid keeping the raw pointer since it looks like we may not need it. |
| Comment by Adam Midvidy [ 06/Nov/15 ] |
|
I recall an issue where a separate network interface was needed for the addShard command as it had to run without the ShardingEgressMetadataHook active. spencer ? |