In 10.2 base, the first 2 INSERT statements are committed and the last INSERT is in prepared stage when the server is forced to restart.
In bb-10.2-jan all threads are in prepared stage when the server is restarted.
This causes the binlog file position to be different, as this points to where in the binlog the last row was committed, which is now different.
This can be see in this part of the mysqld.1.err log for the new tree:
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Starting recovery for XA transactions...
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction 1286 in prepared state after recovery
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction contains changes to 1 rows
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction 1285 in prepared state after recovery
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction contains changes to 1 rows
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction 1284 in prepared state after recovery
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: Transaction contains changes to 1 rows
2016-08-29 12:12:07 140508343482240 [Note] InnoDB: 3 transactions in prepared state after recovery
One possible reason for this is that the signalling of the condition con1_loop is now done before the transaction is fully committed.
innodb.group_commit_binlog_pos [ disabled ]
MDEV-10156innodb.group_commit_binlog_pos_no_optimize_thread [ disabled ]
MDEV-10156