mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-10-21 14:21:48 +00:00
* feat(managed-agent): consolidate persistence into a 32-table baseline Preserve journal, idempotency, runtime, physical storage and recovery boundaries in a shared fresh-database schema. Add fixed snapshots, typed operations, scoped resource collection and atomic automation projections with MySQL fault and load coverage. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): restore schema CI and channel claim fencing Avoid nested snapshot connection borrowing while preserving committed read-lease expiry and retirement checks. Carry reserved channel reconciliation identities into private journal commands and retain UNKNOWN no-resend behavior. Update canonical-schema fixtures, migration discovery and application packaging. Preserve the 32-table fresh-database boundary and record local versus pending CI acceptance in both languages. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): refuse system catalogs before schema initialization Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): restore fresh-schema E2E and MariaDB validation Port the real-stack runner and its audits to canonical tables, retain stream and approval scopes, and register fresh Linux storage before Harness admission. Validate MariaDB CHECK enforcement and InnoDB without relying on MySQL-only metadata or negative-test syntax. Add regression coverage and document current platform and acceptance boundaries. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): normalize boolean CASE catalog literals Accept MariaDB's numeric representation of bare SQL boolean literals while retaining structural CHECK validation, quoted values and enforcement guards. Add alias and tamper regression coverage and synchronize the bilingual verification evidence. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(ci): raise managed schema MariaDB packet budget Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): support MariaDB load-test query plans Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(managed-agent): Restore native storage fixtures and const read witnesses Preserve measured row counts while bounding MariaDB optimization-stage page reads, and register Linux Hosted test storage through the production guard before tool admission. Keep recovery registration across restarts and resolve physical owners through aliases. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(managed-agent): Await snapshot publication in retraction checks Keep the strict terminal snapshot watermark assertion while allowing after-commit publication to finish under the concurrent materializer. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> --------- Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
58 lines
2.5 KiB
SQL
58 lines
2.5 KiB
SQL
-- Durable close, archive and delete operations (Stage D4). The idempotency
|
|
-- domain is the Session, the kind, the actor and the key; actor_digest is ''
|
|
-- for a request without a trusted actor.
|
|
CREATE TABLE managed_agent_operation (
|
|
tenant_id VARCHAR(128) NOT NULL,
|
|
session_id VARCHAR(64) NOT NULL,
|
|
operation_id VARCHAR(64) NOT NULL,
|
|
operation_kind VARCHAR(32) NOT NULL,
|
|
actor_digest VARCHAR(71) NOT NULL,
|
|
idempotency_key VARCHAR(128) NOT NULL,
|
|
request_digest VARCHAR(71) NOT NULL,
|
|
state VARCHAR(32) NOT NULL,
|
|
admission_stage VARCHAR(32) NOT NULL,
|
|
delivery_state VARCHAR(32) NOT NULL,
|
|
session_status_before VARCHAR(32) NOT NULL,
|
|
receipt_id VARCHAR(128),
|
|
lease_owner VARCHAR(128),
|
|
lease_until BIGINT,
|
|
claim_generation BIGINT NOT NULL DEFAULT 0,
|
|
attempt_count INT NOT NULL DEFAULT 0,
|
|
available_at BIGINT NOT NULL,
|
|
created_at BIGINT NOT NULL,
|
|
updated_at BIGINT NOT NULL,
|
|
completed_at BIGINT,
|
|
PRIMARY KEY (tenant_id, session_id, operation_id),
|
|
UNIQUE (operation_id),
|
|
UNIQUE (tenant_id, session_id, operation_kind, actor_digest,
|
|
idempotency_key),
|
|
FOREIGN KEY (tenant_id, session_id)
|
|
REFERENCES managed_agent_session (tenant_id, session_id)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
|
|
|
|
CREATE INDEX managed_agent_operation_pending_idx
|
|
ON managed_agent_operation (delivery_state, available_at);
|
|
|
|
CREATE INDEX managed_agent_operation_lease_idx
|
|
ON managed_agent_operation (delivery_state, lease_until);
|
|
|
|
-- An archive or delete that waited for a retry before this migration becomes
|
|
-- a pending operation under its original key and digest, which the worker
|
|
-- finishes. It has no actor, so only a retry without a trusted actor replays
|
|
-- it.
|
|
INSERT INTO managed_agent_operation (tenant_id, session_id, operation_id,
|
|
operation_kind, actor_digest, idempotency_key, request_digest, state,
|
|
admission_stage, delivery_state, session_status_before, available_at,
|
|
created_at, updated_at)
|
|
SELECT tenant_id, session_id, CONCAT('op_', REPLACE(UUID(), '-', '')),
|
|
CASE operation WHEN 'ARCHIVE_SESSION' THEN 'ARCHIVE' ELSE 'DELETE' END,
|
|
'', idempotency_key, request_digest, 'PENDING', 'JAVA_DURABLE',
|
|
'PENDING', COALESCE(session_status_before, 'ACTIVE'), updated_at,
|
|
created_at, updated_at
|
|
FROM managed_agent_command
|
|
WHERE operation IN ('ARCHIVE_SESSION', 'DELETE_SESSION')
|
|
AND command_status = 'PENDING';
|
|
|
|
UPDATE managed_agent_command SET command_status = 'MIGRATED'
|
|
WHERE operation IN ('ARCHIVE_SESSION', 'DELETE_SESSION')
|
|
AND command_status = 'PENDING';
|