- 
    Type:
Improvement
 - 
    Resolution: Fixed
 - 
    Priority:
Major - P3
 - 
    Affects Version/s: None
 - 
    Component/s: None
 
- 
        Fully Compatible
 - 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
When executing transactions on collections with global indexes, the set of shards participating in a transaction are the union of the shards containing the source data together with the shards containing any global index data that must be modified for the documents involved in a transaction.
Updating the shard to router message will allow mongod processes to add participants to an active transaction to accommodate any index maintenance that must occur as a result of modifying the source data.
This tickets requires adding additionalParticipants field as shown below. Mongos sends a transaction request to a shard(with attached transaction details) and the following message is received as the response.

Tests to try : 
buildscripts/resmoke.py run jstests/sharding/mongos_not_retry_commands_in_transactions.js |tee log
 
buildscripts/resmoke.py run txn_two_phase_commit_basic.js |tee log