in encryption/src/main/java/org/apache/solr/update/DirectUpdateHandler2Copy.java [344:399]
private int addDoc0(AddUpdateCommand cmd) throws IOException {
int rc = -1;
addCommands.increment();
addCommandsCumulative.mark();
// if there is no ID field, don't overwrite
if (idField == null) {
cmd.overwrite = false;
}
try {
if ((cmd.getFlags() & UpdateCommand.IGNORE_INDEXWRITER) != 0) {
if (ulog != null) ulog.add(cmd);
return 1;
}
if (cmd.overwrite) {
// Check for delete by query commands newer (i.e. reordered). This
// should always be null on a leader
List<UpdateLog.DBQ> deletesAfter = null;
if (ulog != null && cmd.version > 0) {
deletesAfter = ulog.getDBQNewer(cmd.version);
}
if (deletesAfter != null) {
addAndDelete(cmd, deletesAfter);
} else {
doNormalUpdate(cmd);
}
} else {
allowDuplicateUpdate(cmd);
}
if ((cmd.getFlags() & UpdateCommand.IGNORE_AUTOCOMMIT) == 0) {
long currentTlogSize = getCurrentTLogSize();
if (commitWithinSoftCommit) {
commitTracker.addedDocument(-1, currentTlogSize);
softCommitTracker.addedDocument(cmd.commitWithin);
} else {
softCommitTracker.addedDocument(-1);
commitTracker.addedDocument(cmd.commitWithin, currentTlogSize);
}
}
rc = 1;
} finally {
if (rc != 1) {
numErrors.increment();
numErrorsCumulative.mark();
} else {
numDocsPending.increment();
}
}
return rc;
}