Skip to content

Commit a81bd73

Browse files
committed
fix(rocksdb): fix txn conflict checker
1 parent 00d4f6a commit a81bd73

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

engine/packages/engine/src/util/wf/signal.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use anyhow::*;
2-
use chrono::{Local, TimeZone};
2+
use chrono::{TimeZone, Utc};
33
use rivet_term::console::style;
44

55
use gas::db::debug::{SignalData, SignalState};
@@ -22,7 +22,7 @@ pub async fn print_signals(signals: Vec<SignalData>, pretty: bool) -> Result<()>
2222

2323
println!(" {} {}", style("id").bold(), signal.signal_id);
2424

25-
let datetime = Local
25+
let datetime = Utc
2626
.timestamp_millis_opt(signal.create_ts)
2727
.single()
2828
.context("invalid ts")?;
@@ -31,7 +31,7 @@ pub async fn print_signals(signals: Vec<SignalData>, pretty: bool) -> Result<()>
3131
println!(" {} {}", style("created at").bold(), style(date).magenta());
3232

3333
if let Some(ack_ts) = signal.ack_ts {
34-
let datetime = Local
34+
let datetime = Utc
3535
.timestamp_millis_opt(ack_ts)
3636
.single()
3737
.context("invalid ts")?;

engine/packages/gasoline/src/ctx/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ pub fn setup_logging() {
245245
// Set up logging
246246
let _ = tracing_subscriber::fmt()
247247
.with_env_filter("debug")
248-
.with_ansi(false)
248+
.with_ansi(true)
249249
.with_test_writer()
250250
.try_init();
251251
}

engine/packages/universaldb/src/driver/rocksdb/transaction_conflict_tracker.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use crate::options::ConflictRangeType;
1414
// that
1515
const TXN_CONFLICT_TTL: Duration = Duration::from_secs(10);
1616

17+
#[derive(Debug)]
1718
struct PreviousTransaction {
1819
insert_instant: Instant,
1920
start_version: u64,
@@ -56,8 +57,9 @@ impl TransactionConflictTracker {
5657
txns.retain(|txn| txn.insert_instant.elapsed() < TXN_CONFLICT_TTL);
5758

5859
for txn2 in &*txns {
59-
// Check txn versions overlap
60-
if txn1_start_version > txn2.start_version && txn1_start_version < txn2.commit_version {
60+
// Check txn versions overlap (intersection or encapsulation)
61+
if txn1_start_version < txn2.commit_version && txn2.start_version < txn1_commit_version
62+
{
6163
for (cr1_start, cr1_end, cr1_type) in &txn1_conflict_ranges {
6264
for (cr2_start, cr2_end, cr2_type) in &txn2.conflict_ranges {
6365
// Check conflict ranges overlap

0 commit comments

Comments
 (0)