# US 12,222,923 B2 · Event driven technique for constructing transaction lock wait history

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,222,923 B2
- Document ID: US12222923B2
- Status: Granted
- Kind: B2
- Application number: 18/326,619
- Filed: 2023-05-31
- Published: 2024-03-28
- Granted: 2025-02-11
- Earliest claimed: 2022-09-27
- Assignees: Snowflake Inc.
- Applicants: Snowflake Inc.
- Inventors: Lin Chan; Krishna B. Nibhanupudi; Sahaj Saini; Sarvesh Singh
- Web page: https://patentgrep.com/patent/US12222923B2

## CPC

- G06F 16/2343: {Locking methods, e.g. distributed locking or locking implementation details}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for constructing transaction lock wait history showing blocker queries are described. A first transaction referencing a resource saved in a network-based data warehouse is received where the first transaction being blocked due to second transaction accessing the resource. A first telemetry event based on the first transaction being blocked is transmitted. After acquiring lock ownership of the resource by the first transaction, a second telemetry event based on acquiring lock ownership by the first transaction is transmitted.

## Claims

### Claim 1

A method comprising:
receiving a first transaction referencing a resource saved in a network-based data warehouse, the first transaction being blocked due to second transaction accessing the resource;
transmitting a first telemetry event based on the first transaction being blocked;
acquiring, by the first transaction, lock ownership of the resource;
transmitting a second telemetry event based on acquiring lock ownership by the first transaction; and
executing the first transaction on the resource.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first telemetry event and the second telemetry event are written to a list in a cloud storage location.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
transferring the list to a database.

### Claim 4 (depends on 2)

The method of claim 2, further comprising;
generating a view from the list, the view showing transaction lock wait history for the resource.

### Claim 5 (depends on 1)

The method of claim 1, wherein the resource is a table.

### Claim 6 (depends on 1)

The method of claim 1, wherein the resource is a partition in a table.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first telemetry event and the second telemetry event are transmitted by a foreground component in a compute service manager to a background component.

### Claim 8

A machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:
receiving a first transaction referencing a resource saved in a network-based data warehouse, the first transaction being blocked due to second transaction accessing the resource;
transmitting a first telemetry event based on the first transaction being blocked;
acquiring, by the first transaction, lock ownership of the resource;
transmitting a second telemetry event based on acquiring lock ownership by the first transaction; and
executing the first transaction on the resource.

### Claim 9 (depends on 8)

The machine-storage medium of claim 8, wherein the first telemetry event and the second telemetry event are written to a list in a cloud storage location.

### Claim 10 (depends on 9)

The machine-storage medium of claim 9, further comprising:
transferring the list to a database.

### Claim 11 (depends on 9)

The machine-storage medium of claim 9, further comprising;
generating a view from the list, the view showing transaction lock wait history for the resource.

### Claim 12 (depends on 8)

The machine-storage medium of claim 8, wherein the resource is a table.

### Claim 13 (depends on 8)

The machine-storage medium of claim 8, wherein the resource is a partition in a table.

### Claim 14 (depends on 8)

The machine-storage medium of claim 8, wherein the first telemetry event and the second telemetry event are transmitted by a foreground component in a compute service manager to a background component.

### Claim 15

A system comprising:
at least one hardware processor; and
at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:
receiving a first transaction referencing a resource saved in a network-based data warehouse, the first transaction being blocked due to second transaction accessing the resource;
transmitting a first telemetry event based on the first transaction being blocked;
acquiring, by the first transaction, lock ownership of the resource;
transmitting a second telemetry event based on acquiring lock ownership by the first transaction; and
executing the first transaction on the resource.

### Claim 16 (depends on 15)

The system of claim 15, wherein the first telemetry event and the second telemetry event are written to a list in a cloud storage location.

### Claim 17 (depends on 16)

The system of claim 16, the operations further comprising:
transferring the list to a database.

### Claim 18 (depends on 16)

The system of claim 16, the operations further comprising;
generating a view from the list, the view showing transaction lock wait history for the resource.

### Claim 19 (depends on 15)

The system of claim 15, wherein the resource is a table.

### Claim 20 (depends on 15)

The system of claim 15, wherein the resource is a partition in a table.

### Claim 21 (depends on 15)

The system of claim 15, wherein the first telemetry event and the second telemetry event are transmitted by a foreground component in a compute service manager to a background component.
