[SERVER-23103] Make library dependency graph acyclic Created: 13/Mar/16 Updated: 07/Jun/17 Resolved: 07/Jun/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | ADAM Martin (Inactive) |
| Resolution: | Done | Votes: | 1 |
| Labels: | platforms-re-triaged | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Platforms 15 (06/03/16), Platforms 2017-03-06 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Currently we have several classes of problems that prevent us from being able to properly express all of the library dependencies in the build system:
There are several adverse consequences to this situation, which include:
Here is a list of currently known multiply defined symbols:
|
| Comments |
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 14/Dec/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Andrew Morrow (Inactive) [ 29/Nov/16 ] | |||||||||||||
|
I just re-ran the multiply defined symbol check, and I find the list to be:
| |||||||||||||
| Comment by Githook User [ 12/Jul/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Andrew Morrow (Inactive) [ 17/Jun/16 ] | |||||||||||||
|
After the above slug of commits, we are down to the following list of multiply defined symbols:
The above was generated via the following command:
The list of multiply defined symbols break down into the following logical groups:
Overall, we are very close to being able to have unique definitions for all symbols. That is a hard prerequisite to being able to make the dependency graph acyclic. | |||||||||||||
| Comment by Githook User [ 17/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: Pooled scopes are a database side concept and rely on the | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 16/Jun/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 23/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: | |||||||||||||
| Comment by Githook User [ 22/Mar/16 ] | |||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}Message: |