I see many of the following errors in my mysql error log:
[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe Statement: INSERT INTO `edge` (src, type, dst, dateCreated, seq, dataID) VALUES ('PHID-MTAM-<TheId>, 57, 'PHID-USER-<TheId>', 1710754728, 0, NULL) ON DUPLICATE KEY UPDATE dataID = VALUES(dataID)
Looking in resources/sql/quickstart.sql we see many edge tables defined as:
CREATE TABLE `edge` ( `src` varbinary(64) NOT NULL, `type` int(10) unsigned NOT NULL, `dst` varbinary(64) NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `seq` int(10) unsigned NOT NULL, `dataID` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`src`,`type`,`dst`), UNIQUE KEY `key_dst` (`dst`,`type`,`src`), KEY `src` (`src`,`type`,`dateCreated`,`seq`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT};
I suggest that the (dst,type,src) key will automatically be unique by virtue of the primary key being (src,type,dst), and it would not hurt to remove the UNIQUE constraint.