[SERVER-68365] Add C++ implementation of gRPC to `mongo/third_party` Created: 27/Jul/22 Updated: 26/Mar/23 Resolved: 15/Mar/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Amirsaman Memaripour | Assignee: | Daniel Moody |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | dbdpfy23q3, third-party-integration | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 58 | ||||||||||||||||||||||||
| Description |
|
Integrate the latest stable version of gRPC's C++ implementation with the core-server's code-base. |
| Comments |
| Comment by Daniel Moody [ 15/Mar/23 ] | ||||||||||
|
Closing in favor of https://jira.mongodb.org/browse/SERVER-73467 | ||||||||||
| Comment by Daniel Moody [ 08/Feb/23 ] | ||||||||||
|
I had talked with brian.mccarthy@mongodb.com about creating multiple separate EFS for the more common builders (commit queue and required compile builders). We would need to make sure if we change our required builders around that we correctly maintain the EFS's in use. I'm not sure about SCons cache support for multiple cache directories in the same instance of a build. The cache dir is maintained in the environment and SCons allows multiple environments so I feel like its possible but I have never tried it before. | ||||||||||
| Comment by Alex Neben [ 08/Feb/23 ] | ||||||||||
|
I am not a huge fan of that solution - it feels like a gross bandaid that is kicking the can down the road for a serious issue. Can you think of anything else? Can we somehow split up the cache (look for third party stuff is location x, look for everything else in location y)? | ||||||||||
| Comment by Daniel Moody [ 07/Feb/23 ] | ||||||||||
|
Another workaround for the time being is we can mark the grpc stuff as NoCache and then exclude the grpc unittest from any of the AIB labels so it is not autoinstalled (and therefore not run by any compile_all tasks which build all the install- targets). Then it would not be built in evergreen unless we setup a special task for it. | ||||||||||
| Comment by Daniel Moody [ 07/Feb/23 ] | ||||||||||
|
I don't think it's a file limit, but number of concurrent file operations. A write is 5 times more expensive than a read per amazon, and we added 1200 new files x ~100 compile tasks (including nightly tasks) so 120000 operations on top of the existing workload.
I think we are near the limit with currently, although some of the graphs that I saw didn't seem to indicate that, and they quotas from amazon indicate quite a large number of operations: https://docs.aws.amazon.com/efs/latest/ug/limits.html#limits-client-specific
I wish there was more conclusive explanation from amazon. | ||||||||||
| Comment by Alex Neben [ 06/Feb/23 ] | ||||||||||
|
This seems pretty serious then - if it is not due to grpc then we are bound to hit this limit soon. Is there a file limit or something like that in the scons cache? | ||||||||||
| Comment by Daniel Moody [ 03/Feb/23 ] | ||||||||||
|
some data regarding local scons cache and the reverted changes:
Then I tested some metrics on a local cache dir of the merged change and the previous commit.
| ||||||||||
| Comment by Daniel Moody [ 02/Feb/23 ] | ||||||||||
|
alternatively the changes do support using system libraries so if we can update the images to install the correct versions of protobuf and grpc to the system, we can in the meantime avoid building/caching grpc ourselves. | ||||||||||
| Comment by Daniel Moody [ 02/Feb/23 ] | ||||||||||
|
This was reverted because it was suspected to be overloading the EFS cache system in evergreen. This may be blocked on improving or increasing the capacity of EFS in evergreen. | ||||||||||
| Comment by Githook User [ 02/Feb/23 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: Revert " This reverts commit fbea56b2b78c7961a95a8b3bfd2725bbac6cb5f6. | ||||||||||
| Comment by Githook User [ 30/Jan/23 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: | ||||||||||
| Comment by Githook User [ 03/Oct/22 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: | ||||||||||
| Comment by Githook User [ 03/Oct/22 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: | ||||||||||
| Comment by Githook User [ 27/Sep/22 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: | ||||||||||
| Comment by Githook User [ 27/Sep/22 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: | ||||||||||
| Comment by Githook User [ 27/Sep/22 ] | ||||||||||
|
Author: {'name': 'Daniel Moody', 'email': 'daniel.moody@mongodb.com', 'username': 'dmoody256'}Message: |