nostrdb: note: always write relay index
This fixes a race condition where if multiple of the same note is processed at the same time, we still manage to write the note relays Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
Daniel D’Aquino
parent
c6674199de
commit
c29027ff5b
@@ -4665,8 +4665,14 @@ static uint64_t ndb_write_note(struct ndb_txn *txn,
|
||||
kind = note->note->kind;
|
||||
|
||||
// let's quickly sanity check if we already have this note
|
||||
if (ndb_get_notekey_by_id(txn, note->note->id))
|
||||
if (ndb_get_notekey_by_id(txn, note->note->id)) {
|
||||
// even if we do we still need to write relay index
|
||||
ndb_write_note_relay_kind_index(txn, kind, note_key,
|
||||
ndb_note_created_at(note->note),
|
||||
note->relay, relay_len);
|
||||
ndb_write_note_relay(txn, note_key, note->relay, relay_len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// get dbs
|
||||
note_db = txn->lmdb->dbs[NDB_DB_NOTE];
|
||||
|
||||
Reference in New Issue
Block a user