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;
|
kind = note->note->kind;
|
||||||
|
|
||||||
// let's quickly sanity check if we already have this note
|
// 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;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// get dbs
|
// get dbs
|
||||||
note_db = txn->lmdb->dbs[NDB_DB_NOTE];
|
note_db = txn->lmdb->dbs[NDB_DB_NOTE];
|
||||||
|
|||||||
Reference in New Issue
Block a user