create-feltdb 0.8.4 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package-versions.js +1 -1
- package/dist/server-source/Cargo.lock +165 -0
- package/dist/server-source/Cargo.toml +9 -0
- package/dist/server-source/crates/feltdb/Cargo.toml +3 -0
- package/dist/server-source/crates/feltdb/benches/gate13_baseline.rs +44 -44
- package/dist/server-source/crates/feltdb/benches/gate13_phase_7_1_release_economics.rs +12 -24
- package/dist/server-source/crates/feltdb/benches/gate_13_redux.rs +7 -13
- package/dist/server-source/crates/feltdb/benches/gate_13_regression_runner.rs +13 -10
- package/dist/server-source/crates/feltdb/benches/gate_14a_concurrent_writer_scaling.rs +12 -9
- package/dist/server-source/crates/feltdb/benches/gate_14a_production_admission_revalidation.rs +78 -25
- package/dist/server-source/crates/feltdb/benches/gate_14a_rc2_admission_contract.rs +16 -13
- package/dist/server-source/crates/feltdb/benches/gate_14a_rc_root_cause.rs +13 -5
- package/dist/server-source/crates/feltdb/benches/gate_14a_sync1_queued_prototype.rs +41 -22
- package/dist/server-source/crates/feltdb/benches/gate_14a_sync_economics.rs +33 -15
- package/dist/server-source/crates/feltdb/benches/gate_14b_causal_backlog_scaling.rs +100 -33
- package/dist/server-source/crates/feltdb/benches/gate_14c_replication_contract_test.rs +56 -20
- package/dist/server-source/crates/feltdb/benches/gate_14c_replication_scaling.rs +116 -41
- package/dist/server-source/crates/feltdb/benches/gate_14d_combined_dimension_scaling.rs +186 -55
- package/dist/server-source/crates/feltdb/benches/phase_7_1_2_optimization_benchmark.rs +64 -26
- package/dist/server-source/crates/feltdb/benches/phase_7_1_3_crossover_analysis.rs +46 -15
- package/dist/server-source/crates/feltdb/src/admission.rs +8 -15
- package/dist/server-source/crates/feltdb/src/admission_contract_tests.rs +43 -13
- package/dist/server-source/crates/feltdb/src/adversarial_transport.rs +15 -42
- package/dist/server-source/crates/feltdb/src/analytics.rs +65 -19
- package/dist/server-source/crates/feltdb/src/application.rs +113 -30
- package/dist/server-source/crates/feltdb/src/authorization_security_tests.rs +475 -140
- package/dist/server-source/crates/feltdb/src/cardinality_diagnostics.rs +17 -15
- package/dist/server-source/crates/feltdb/src/cardinality_endpoint.rs +0 -1
- package/dist/server-source/crates/feltdb/src/causal_backlog_bound.rs +59 -15
- package/dist/server-source/crates/feltdb/src/causal_dependency_barrier.rs +266 -114
- package/dist/server-source/crates/feltdb/src/causal_dependency_barrier_phase_7_1.rs +25 -7
- package/dist/server-source/crates/feltdb/src/concurrency_fuzzing.rs +10 -15
- package/dist/server-source/crates/feltdb/src/consistency_contract.rs +3 -11
- package/dist/server-source/crates/feltdb/src/crash_atomic_boundary.rs +14 -5
- package/dist/server-source/crates/feltdb/src/crash_injection.rs +21 -25
- package/dist/server-source/crates/feltdb/src/crash_recovery_tests.rs +14 -11
- package/dist/server-source/crates/feltdb/src/dedup_bound_investigation.rs +103 -22
- package/dist/server-source/crates/feltdb/src/distributed_indexing.rs +18 -15
- package/dist/server-source/crates/feltdb/src/durability_guarantees.rs +12 -8
- package/dist/server-source/crates/feltdb/src/durable_dedup_set.rs +1 -5
- package/dist/server-source/crates/feltdb/src/durable_operation_identity.rs +87 -23
- package/dist/server-source/crates/feltdb/src/durable_operation_log.rs +3 -7
- package/dist/server-source/crates/feltdb/src/durable_sync.rs +10 -9
- package/dist/server-source/crates/feltdb/src/in_process_transport.rs +1 -6
- package/dist/server-source/crates/feltdb/src/indexing.rs +35 -38
- package/dist/server-source/crates/feltdb/src/lib.rs +1648 -46
- package/dist/server-source/crates/feltdb/src/managed_cas_tests.rs +4 -1
- package/dist/server-source/crates/feltdb/src/metrics.rs +0 -1
- package/dist/server-source/crates/feltdb/src/multi_node_convergence.rs +1 -2
- package/dist/server-source/crates/feltdb/src/multi_operation_transaction.rs +107 -30
- package/dist/server-source/crates/feltdb/src/observability.rs +19 -6
- package/dist/server-source/crates/feltdb/src/operation.rs +39 -0
- package/dist/server-source/crates/feltdb/src/operation_algebra.rs +12 -11
- package/dist/server-source/crates/feltdb/src/operation_log.rs +9 -4
- package/dist/server-source/crates/feltdb/src/p1_application_atomicity.rs +65 -18
- package/dist/server-source/crates/feltdb/src/p1_atomicity_acceptance.rs +193 -57
- package/dist/server-source/crates/feltdb/src/partition_reconciliation.rs +37 -27
- package/dist/server-source/crates/feltdb/src/permutation_scheduler.rs +38 -10
- package/dist/server-source/crates/feltdb/src/persistence_reality.rs +20 -14
- package/dist/server-source/crates/feltdb/src/phase1b_acceptance.rs +394 -229
- package/dist/server-source/crates/feltdb/src/phase1c1_acceptance.rs +8 -6
- package/dist/server-source/crates/feltdb/src/phase1c2_acceptance.rs +11 -13
- package/dist/server-source/crates/feltdb/src/phase1c3_acceptance.rs +79 -70
- package/dist/server-source/crates/feltdb/src/phase1c_atomicity_proof.rs +3 -3
- package/dist/server-source/crates/feltdb/src/phase5_integration.rs +33 -11
- package/dist/server-source/crates/feltdb/src/phase5_scenarios.rs +6 -6
- package/dist/server-source/crates/feltdb/src/phase6_adversarial_scenarios.rs +14 -56
- package/dist/server-source/crates/feltdb/src/phase6_convergence_validator.rs +29 -27
- package/dist/server-source/crates/feltdb/src/phase6_persistence.rs +35 -17
- package/dist/server-source/crates/feltdb/src/phase_1c_real_tcp.rs +8 -2
- package/dist/server-source/crates/feltdb/src/phase_2a_failures.rs +59 -15
- package/dist/server-source/crates/feltdb/src/phase_2b_network.rs +70 -17
- package/dist/server-source/crates/feltdb/src/phase_2c_cascading.rs +23 -6
- package/dist/server-source/crates/feltdb/src/phase_3_durability.rs +12 -3
- package/dist/server-source/crates/feltdb/src/phase_4_baseline.rs +41 -11
- package/dist/server-source/crates/feltdb/src/phase_5_soak.rs +56 -25
- package/dist/server-source/crates/feltdb/src/policy_evaluation.rs +701 -245
- package/dist/server-source/crates/feltdb/src/production_api.rs +31 -13
- package/dist/server-source/crates/feltdb/src/query_performance.rs +6 -8
- package/dist/server-source/crates/feltdb/src/replay_fuzzing.rs +5 -5
- package/dist/server-source/crates/feltdb/src/replica_acknowledgements.rs +48 -18
- package/dist/server-source/crates/feltdb/src/replica_membership.rs +30 -11
- package/dist/server-source/crates/feltdb/src/replication_manager.rs +6 -3
- package/dist/server-source/crates/feltdb/src/replication_protocol.rs +4 -3
- package/dist/server-source/crates/feltdb/src/sharding.rs +36 -10
- package/dist/server-source/crates/feltdb/src/state_conflict_contract.rs +516 -0
- package/dist/server-source/crates/feltdb/src/state_contract.rs +13 -4
- package/dist/server-source/crates/feltdb/src/state_diff_contract.rs +222 -0
- package/dist/server-source/crates/feltdb/src/state_facade.rs +82 -54
- package/dist/server-source/crates/feltdb/src/state_hash.rs +2 -2
- package/dist/server-source/crates/feltdb/src/state_model.rs +1565 -536
- package/dist/server-source/crates/feltdb/src/state_transition_store.rs +6 -3
- package/dist/server-source/crates/feltdb/src/state_trigger.rs +672 -0
- package/dist/server-source/crates/feltdb/src/storage.rs +9 -3
- package/dist/server-source/crates/feltdb/src/submission.rs +5 -11
- package/dist/server-source/crates/feltdb/src/tcp_transport.rs +6 -8
- package/dist/server-source/crates/feltdb/src/transaction_api.rs +24 -35
- package/dist/server-source/crates/feltdb/src/transaction_invariants.rs +24 -8
- package/dist/server-source/crates/feltdb/src/transaction_preconditions.rs +248 -59
- package/dist/server-source/crates/feltdb/src/transactions.rs +17 -20
- package/dist/server-source/crates/feltdb/src/trigger_contract.rs +749 -0
- package/dist/server-source/crates/feltdb/src/worker_mesh.rs +1 -0
- package/dist/server-source/crates/feltdb/src/workload.rs +512 -4
- package/dist/server-source/crates/feltdb/src/workload_diagnostics.rs +3 -4
- package/dist/server-source/crates/feltdb/tests/bounded_read_contract.rs +132 -0
- package/dist/server-source/crates/feltdb/tests/branching_evidence.rs +299 -0
- package/dist/server-source/crates/feltdb/tests/compaction_stall_contract.rs +272 -0
- package/dist/server-source/crates/feltdb/tests/crash_durability_contract.rs +467 -0
- package/dist/server-source/crates/feltdb/tests/current_revision_authority_evidence.rs +309 -0
- package/dist/server-source/crates/feltdb/tests/durable_backup_contract.rs +445 -0
- package/dist/server-source/crates/feltdb/tests/durable_corruption_contract.rs +518 -0
- package/dist/server-source/crates/feltdb/tests/durable_format_compatibility.rs +392 -0
- package/dist/server-source/crates/feltdb/tests/feltdb_state_boundary_tests.rs +436 -220
- package/dist/server-source/crates/feltdb/tests/fixtures/state_conflict_contract_corpus.json +1916 -0
- package/dist/server-source/crates/feltdb/tests/fixtures/state_diff_contract_corpus.json +1878 -0
- package/dist/server-source/crates/feltdb/tests/fixtures/trigger_contract_corpus.json +1862 -0
- package/dist/server-source/crates/feltdb/tests/operational_health_contract.rs +278 -0
- package/dist/server-source/crates/feltdb/tests/pr34_query_collection.rs +2 -1
- package/dist/server-source/crates/feltdb/tests/pr35_equality_index.rs +80 -25
- package/dist/server-source/crates/feltdb/tests/pr7_self_authorization_proof.rs +5 -8
- package/dist/server-source/crates/feltdb/tests/pr8_vocabulary_assessment.rs +52 -44
- package/dist/server-source/crates/feltdb/tests/pr9_phase2_boundary_tests.rs +33 -16
- package/dist/server-source/crates/feltdb/tests/pr9_phase3a_path_a_tests.rs +22 -7
- package/dist/server-source/crates/feltdb/tests/pr9_phase3c_authorized_mutations.rs +41 -22
- package/dist/server-source/crates/feltdb/tests/pr9_phase3c_role_based_authorization.rs +25 -8
- package/dist/server-source/crates/feltdb/tests/pr9_phase3c_simple_auth_delete.rs +9 -6
- package/dist/server-source/crates/feltdb/tests/pr9_phase3c_team_delete_role_authorization.rs +120 -69
- package/dist/server-source/crates/feltdb/tests/pr9_teams_role_based_access.rs +21 -10
- package/dist/server-source/crates/feltdb/tests/production_readiness_contract.rs +1365 -0
- package/dist/server-source/crates/feltdb/tests/reconciliation_application.rs +868 -0
- package/dist/server-source/crates/feltdb/tests/reconciliation_wire_format_evidence.rs +221 -0
- package/dist/server-source/crates/feltdb/tests/replicated_history_contract.rs +417 -0
- package/dist/server-source/crates/feltdb/tests/resource_scoped_revisions.rs +338 -0
- package/dist/server-source/crates/feltdb/tests/revision_identity_contract.rs +1039 -0
- package/dist/server-source/crates/feltdb/tests/revision_model_decision.rs +739 -0
- package/dist/server-source/crates/feltdb/tests/revision_retention_boundary_evidence.rs +427 -0
- package/dist/server-source/crates/feltdb/tests/saas_authorization_integration.rs +3 -3
- package/dist/server-source/crates/feltdb/tests/saas_invitation_lifecycle.rs +25 -22
- package/dist/server-source/crates/feltdb/tests/state_conflict_contract_conformance.rs +1799 -0
- package/dist/server-source/crates/feltdb/tests/state_diff_contract_conformance.rs +1316 -0
- package/dist/server-source/crates/feltdb/tests/state_model_integration.rs +53 -61
- package/dist/server-source/crates/feltdb/tests/state_persistence_integration.rs +156 -61
- package/dist/server-source/crates/feltdb/tests/state_store_boundary_evidence.rs +299 -0
- package/dist/server-source/crates/feltdb/tests/sync_divergence_evidence.rs +255 -0
- package/dist/server-source/crates/feltdb/tests/three_way_input_boundary_evidence.rs +249 -0
- package/dist/server-source/crates/feltdb/tests/trigger_contract_conformance.rs +994 -0
- package/dist/server-source/crates/feltdb/tests/workload_envelope_contract.rs +442 -0
- package/dist/server-source/crates/feltdb-server/src/app_state.rs +16 -1
- package/dist/server-source/crates/feltdb-server/src/auth.rs +164 -13
- package/dist/server-source/crates/feltdb-server/src/main.rs +695 -47
- package/dist/server-source/crates/feltdb-server/src/metrics.rs +21 -0
- package/package.json +1 -1
|
@@ -21,6 +21,8 @@ struct Inner {
|
|
|
21
21
|
peer_sync_successes: AtomicU64,
|
|
22
22
|
peer_sync_failures: AtomicU64,
|
|
23
23
|
operations_compacted: AtomicU64,
|
|
24
|
+
requests_shed: AtomicU64,
|
|
25
|
+
request_deadlines_exceeded: AtomicU64,
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
#[derive(Serialize)]
|
|
@@ -35,6 +37,12 @@ pub struct MetricsSnapshot {
|
|
|
35
37
|
pub peer_sync_successes: u64,
|
|
36
38
|
pub peer_sync_failures: u64,
|
|
37
39
|
pub operations_compacted: u64,
|
|
40
|
+
/// Requests refused at the door because the server was already at its
|
|
41
|
+
/// in-flight limit. Non-zero means load is being shed rather than queued.
|
|
42
|
+
pub requests_shed: u64,
|
|
43
|
+
/// Requests the server abandoned for exceeding its own deadline. Non-zero
|
|
44
|
+
/// means scoped operations are stalling, whatever `/health` says.
|
|
45
|
+
pub request_deadlines_exceeded: u64,
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
impl Metrics {
|
|
@@ -65,6 +73,14 @@ impl Metrics {
|
|
|
65
73
|
.sync_operations_received
|
|
66
74
|
.fetch_add(count, Ordering::Relaxed);
|
|
67
75
|
}
|
|
76
|
+
pub fn request_shed(&self) {
|
|
77
|
+
self.inner.requests_shed.fetch_add(1, Ordering::Relaxed);
|
|
78
|
+
}
|
|
79
|
+
pub fn request_deadline_exceeded(&self) {
|
|
80
|
+
self.inner
|
|
81
|
+
.request_deadlines_exceeded
|
|
82
|
+
.fetch_add(1, Ordering::Relaxed);
|
|
83
|
+
}
|
|
68
84
|
pub fn peer_sync_success(&self) {
|
|
69
85
|
self.inner
|
|
70
86
|
.peer_sync_successes
|
|
@@ -92,6 +108,11 @@ impl Metrics {
|
|
|
92
108
|
peer_sync_successes: self.inner.peer_sync_successes.load(Ordering::Relaxed),
|
|
93
109
|
peer_sync_failures: self.inner.peer_sync_failures.load(Ordering::Relaxed),
|
|
94
110
|
operations_compacted: self.inner.operations_compacted.load(Ordering::Relaxed),
|
|
111
|
+
requests_shed: self.inner.requests_shed.load(Ordering::Relaxed),
|
|
112
|
+
request_deadlines_exceeded: self
|
|
113
|
+
.inner
|
|
114
|
+
.request_deadlines_exceeded
|
|
115
|
+
.load(Ordering::Relaxed),
|
|
95
116
|
}
|
|
96
117
|
}
|
|
97
118
|
}
|