This class already gets a DB connection from PropertyInfoTable but then still gets an LBFactory to be able to wait for replication. That seems a strange way to go about it and could probably use some more refactoring.
$dbw = $this->propertyInfoTable->getWriteConnection();
// @TODO: Inject the LBFactory $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory(); $ticket = $lbFactory->getEmptyTransactionTicket( __METHOD__ );
// Make sure we are not running too far ahead of the replicas, // as that would cause the site to be rendered read only. $lbFactory->commitAndWaitForReplication( __METHOD__, $ticket );
Also, it seems that the private field $entityIdComposer is unused? That should be double-checked and cleaned up if true.