IP Library Granted Patent US 11,238,017
Granted Patent B2
US 11,238,017 · App. 15/884,165 · Granted Feb 1, 2022

Runtime detector for data corruptions

Inventor: Rohitashva Mathur (Walnut Creek, CA)
Assignee: salesforce.com, inc.
G06F16/215G06F16/2282
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,238,017
App. No.
15/884,165
Granted
Feb 1, 2022
Kind
B2
Abstract

In a multitenant data platform architecture, one or more supporting data tables are used to efficiently retrieve data responsive to data retrieval requests. Programmatic code markers associated with contextual data about a data transaction thread are identified. The contextual data is examined using the one or more programmatic code markers invoked by the database in the data transaction thread at runtime. Based on the contextual data returning an indication of a data corruption in one or more supporting data structures, an action associated with the data transaction thread is performed. A log of data corruptions and corresponding call stack trace data may be generated. The data transaction thread may be allowed to continue to execute statements that modify data tables, or the data transaction thread may be terminated.

Claims (41)

1. A computer-implemented method, comprising:

identifying, during runtime execution of a data transaction thread, one or more programmatic code markers associated with contextual data about the data transaction thread interacting with one or more data tables associated with a database, the one or more data tables used to efficiently retrieve data from the database;

determining, during runtime execution of the data transaction thread, the contextual data based on the identified one or more programmatic code markers invoked by the database in the data transaction thread;

determining, during runtime execution of the data transaction thread, whether the contextual data indicates a data corruption in one or more supporting data structures associated with the one or more data tables; and

in response to a determination that the contextual data indicates a data corruption in the one or more supporting data structures associated with the one or more data tables:

identifying one or more corrupted supporting data structures of the one or more supporting data structures using the contextual data; and

performing, during runtime execution of the data transaction thread, a data corruption detection action associated with the one or more corrupted supporting data structures.

2. The method as recited in claim 1 , wherein the action comprises logging a call stack trace associated with the data transaction thread and the data corruption.

3. The method as recited in claim 2 , further comprising causing a presentation of one or more log records comprising one or more data corruptions.

4. The method as recited in claim 1 , wherein the action comprises failing the data transaction thread.

5. The method as recited in claim 1 , further comprising: generating a callback hook associated with the one or more supporting tables, wherein the contextual data is determined using the generated callback hook associated with the one or more supporting tables.

6. The method as recited in claim 1 , wherein the action comprises allowing the data transaction thread to execute one or more statements that modify the one or more data tables.

7. The method as recited in claim 1 , wherein the contextual data indicates the data corruption based on a query associated with the programmatic code markers returning no results.

8. One or more non-transitory computer readable media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

identifying, during runtime execution of a data transaction thread, one or more programmatic code markers associated with contextual data about the data transaction thread interacting with one or more data tables associated with a database, the one or more data tables used to efficiently retrieve data from the database;

determining, during runtime execution of the data transaction thread, the contextual data based on the identified one or more programmatic code markers invoked by the database in the data transaction thread;

determining, during runtime execution of the data transaction thread, whether the contextual data indicates a data corruption in one or more supporting data structures associated with the one or more data tables; and

in response to a determination that the contextual data indicates a data corruption in the one or more supporting data structures associated with the one or more data tables:

identifying one or more corrupted supporting data structures of the one or more supporting data structures using the contextual data; and

performing, during runtime execution of the data transaction thread, a data corruption detection action associated with the one or more corrupted supporting data structures.

9. The one or more non-transitory computer readable media as recited in claim 8 , wherein the action comprises logging a call stack trace associated with the data transaction thread and the data corruption.

10. The one or more non-transitory computer-readable media of claim 9 , which when executed by the one or more processors cause further performance of: causing a presentation of one or more log records comprising one or more data corruptions.

11. The one or more non-transitory computer readable media as recited in claim 8 , wherein the action comprises failing the data transaction thread.

12. The one or more non-transitory computer-readable media of claim 8 , which when executed by the one or more processors cause further performance of: generating a callback hook associated with the one or more supporting tables, wherein the contextual data is determined using the generated callback hook associated with the one or more supporting tables.

13. The one or more non-transitory computer readable media as recited in claim 8 , wherein the action comprises allowing the data transaction thread to execute one or more statements that modify the one or more data tables.

14. The one or more non-transitory computer readable media as recited in claim 8 , wherein the contextual data indicates the data corruption based on a query associated with the programmatic code markers returning no results.

15. A system, comprising:

one or more computing processors;

one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform:

identifying, during runtime execution of a data transaction thread, one or more programmatic code markers associated with contextual data about the data transaction thread interacting with one or more data tables associated with a database, the one or more data tables used to efficiently retrieve data from the database;

determining, during runtime execution of the data transaction thread, the contextual data based on the identified one or more programmatic code markers invoked by the database in the data transaction thread;

determining, during runtime execution of the data transaction thread, whether the contextual data indicates a data corruption in one or more supporting data structures associated with the one or more data tables; and

in response to a determination that the contextual data indicates a data corruption in the one or more supporting data structures associated with the one or more data tables:

identifying one or more corrupted supporting data structures of the one or more supporting data structures using the contextual data; and

performing, during runtime execution of the data transaction thread, a data corruption detection action associated with the one or more corrupted supporting data structures.

16. The system as recited in claim 15 , wherein the action comprises logging a call stack trace associated with the data transaction thread and the data corruption.

17. The system as recited in claim 16 , wherein the program of instructions is executable by a device to further perform causing a presentation of one or more log records comprising one or more data corruptions.

18. The system as recited in claim 15 , wherein the action comprises failing the data transaction thread.

19. The system as recited in claim 15 , wherein the program of instructions is executable by a device to further perform: generating a callback hook associated with the one or more supporting tables, wherein the contextual data is determined using the generated callback hook associated with the one or more supporting tables.

20. The system as recited in claim 15 , wherein the action comprises allowing the data transaction thread to execute one or more statements that modify the one or more data tables.

21. The system as recited in claim 15 , wherein the contextual data indicates the data corruption based on a query associated with the programmatic code markers returning no results.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2018
From: MATHUR, ROHITASHVA
To: SALESFORCE.COM, INC.
Reel/Frame 044831/0352 →
Continuity (1)
Related Publication 20190236171A1 · Aug 1, 2019