IP Library Patent Application 18907347
Patent Application
App. No. 18/907,347

SYSTEMS AND METHODS FOR EFFICIENT MANAGEMENT OF MERGE FAILURES

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 None
App. No.
18/907,347
Filed
Oct 4, 2024
Art Unit
2191
USPC
717/170
Abstract

An improved system and method that conditionally retry a failed job or remove a merge request that includes the failed job according to whether the failed job meets a condition is described herein. The system is configured to receive a first merge request to merge a first version of source code and a second version of source; receive a second merge request to merge the first version, the second version, and a third version of source code; cause execution of a first plurality of jobs and a second plurality of jobs; identify a failure of a first job; cause execution of individual jobs in the first plurality of jobs and the second plurality of jobs to pause; process failure information associated with the first job failing; compare the failure information with a string associated with a condition to determine whether the failure information satisfies the condition.

Claims (65)

1 . A system comprising:

a memory comprising computer-executable instructions; and

a processor, wherein the computer-executable instructions, when executed by the processor, cause the processor to:

receive a first merge request to merge a first version of source code and a second version of source, wherein the first merge request comprises a first plurality of jobs;

receive a second merge request to merge the first version, the second version, and a third version of source code, wherein the second merge request comprises a second plurality of jobs;

cause execution of the first plurality of jobs and the second plurality of jobs;

identify a failure of a first job in the first plurality of jobs, wherein the first job failing provides failure information;

cause execution of individual jobs in the first plurality of jobs and the second plurality of jobs to pause;

process the failure information associated with the first job failing;

compare log data from the failure information with a string associated with a condition to determine whether the failure information satisfies the condition;

in response to a determination that the failure information satisfies the condition, retry the failed first job; and

in response to a determination that the failure information does not satisfy the condition,

pause execution of the first plurality of jobs and the second plurality of jobs that have yet to be executed,

update the second merge request to include a merge of the first version of the source code, the third version of the source code, and not the second version of the source code, wherein the updated second merge request comprises a third plurality of jobs,

cause execution of the third plurality of jobs, and

remove the first merge request from a list of merge requests to be executed.

2 . The system of claim 1 , wherein the computer-executable instructions, when executed by the processor, further cause the processor to retry the failed job when the log data includes one or more of: a docker error, a connection error, a virtual central processing unit error, volume limit error, insufficient free address error, segmentation error, library error, license error, and a duration error.

3 . The system of claim 1 , wherein the condition is met when at least a part of the log data matches the string.

4 . The system of claim 1 , wherein the computer-executable instructions, when executed by the processor, further cause the processor to cause the execution of the updated second plurality of jobs prior to completion of a plurality of merge requests.

5 . The system of claim 1 , wherein the computer-executable instructions, when executed by the processor, further cause the processor to update the second plurality of jobs from executing individual jobs corresponding to the first, second, and third versions of the source code to execute individual jobs corresponding to the first version of the source code and the third version of the source code.

6 . A computer implemented method comprising:

under control of a user device with a processor and memory, wherein computer-executable instructions, when executed by the processor, cause the user device to perform steps of:

receiving a first merge request to merge a first version of source code and a second version of source, wherein the first merge request comprises a first plurality of jobs;

receiving a second merge request to merge the first version, the second version, and a third version of source code, wherein the second merge request comprises a second plurality of jobs;

causing execution of the first plurality of jobs and the second plurality of jobs;

identifying a failure of a first job in the first plurality of jobs, wherein the first job failing provides failure information;

causing execution of individual jobs in the first plurality of jobs and the second plurality of jobs to pause;

processing the failure information associated with the first job failing;

comparing log data from the failure information with a string associated with a condition to determine whether the failure information satisfies the condition; and

in response to a determination that the failure information does not satisfy the condition,

pause execution of the first plurality of jobs and the second plurality of jobs that have yet to be executed,

update the second merge request to include a merge of the first version of the source code, the third version of the source code, and not the second version of the source code, wherein the updated second merge request comprises a third plurality of jobs,

cause execution of the third plurality of jobs, and

remove the first merge request from a list of merge requests to be executed.

7 . The computer implemented method of claim 6 , wherein the condition is not satisfied when at least a part of the log data matches the string, and wherein removing the first merge request from the list of merge requests comprises removing the first merge request when the log data does not include: a docker error, a connection error, a virtual central processing unit error, volume limit error, insufficient free address error, segmentation error, library error, license error, or a duration error.

8 . The computer implemented method of claim 6 , wherein causing the execution of the third plurality of jobs comprises causing the execution of the third plurality of jobs prior to completion of a plurality of merge requests.

9 . The computer implemented method of claim 6 , wherein at least one of the first version of source code, the second version of source code, and the third version of source code are directed to design simulation source code.

10 . The computer implemented method of claim 6 , wherein the first plurality of jobs is associated with merging the first version of source code and the second version of source code, and wherein the second plurality of jobs is associated with merging the first version of source code, the second version of source code, and the third version of source code.

11 . The computer implemented method of claim 6 , wherein removing the first merge request from the list of merge requests to be executed comprises:

removing the first merge request from the list of merge requests when the first merge request is at a beginning of the list of merge requests; and

removing the first merge request from the list of merge requests when a preceding merge request of a plurality of merge requests passed all of a plurality of jobs.

12 . The computer implemented method of claim 6 , wherein the condition is satisfied when at least a part of the log data matches the string, and wherein the method further comprises, in response to a determination that the failure information does satisfy the condition, retrying the failed first job.

13 . The computer implemented method of claim 12 , wherein retrying the failed first job comprises retrying the failed first job when the log data includes one or more of: a docker error, a connection error, a virtual central processing unit error, volume limit error, insufficient free address error, segmentation error, library error, license error, and a duration error.

14 . The computer implemented method of claim 12 , wherein retrying the failed first job comprises retrying the failed first job by maintaining execution order of the first version of source code, the second version of source code, and the third version of source code.

15 . Non-transitory, computer-readable storage media comprising computer-executable instructions for managing a merge request queue in a merge train, wherein the computer-executable instructions, when executed by a computer system, cause the computer system to:

receive a first merge request to merge a first version of source code and a second version of source, wherein the first merge request comprises a first plurality of jobs;

receive a second merge request to merge the first version, the second version, and a third version of source code, wherein the second merge request comprises a second plurality of jobs;

cause execution of the first plurality of jobs and the second plurality of jobs;

identify a failure of a first job in the first plurality of jobs, wherein the first job failing provides failure information;

cause execution of individual jobs in the first plurality of jobs and the second plurality of jobs to pause;

process the failure information associated with the first job failing;

compare log data from the failure information with a string associated with a condition to determine whether the failure information satisfies the condition; and

in response to a determination that the failure information does not satisfy the condition,

pause execution of the first plurality of jobs and the second plurality of jobs that have yet to be executed,

update the second merge request to include a merge of the first version of the source code, the third version of the source code, and not the second version of the source code, wherein the updated second merge request comprises a third plurality of jobs,

cause execution of the third plurality of jobs, and

remove the first merge request from a list of merge requests to be executed.

16 . The non-transitory, computer-readable storage media of claim 15 , wherein the condition is not satisfied when at least a part of the log data matches the string, and wherein the computer-executable instructions further cause the computer system to:

remove the first merge request when the log data does not include: a docker error, a connection error, a virtual central processing unit error, volume limit error, insufficient free address error, segmentation error, library error, license error, or a duration error;

remove the first merge request from the list of merge requests when the first merge request is at a beginning of the list of merge requests; and

remove the first merge request from the list of merge requests when a preceding merge request of a plurality of merge requests passed all of a plurality of jobs.

17 . The non-transitory, computer-readable storage media of claim 15 , wherein the computer-executable instructions further cause the computer system to cause the execution of the third plurality of jobs prior to completion of a plurality of merge requests.

18 . The non-transitory, computer-readable storage media of claim 15 , wherein the condition is satisfied when at least a part of the log data matches the string, and wherein the computer-executable instructions further cause the computer system to, in response to a determination that the failure information does satisfy the condition, retry the failed first job.

19 . The non-transitory, computer-readable storage media of claim 18 , wherein the computer-executable instructions further cause the computer system to retry the failed first job when the log data includes one or more of: a docker error, a connection error, a virtual central processing unit error, volume limit error, insufficient free address error, segmentation error, library error, license error, and a duration error.

20 . The non-transitory, computer-readable storage media of claim 18 , wherein the computer-executable instructions further cause the computer system to retry the failed first job by maintaining execution order of the first version of source code, the second version of source code, and the third version of source code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2026
From: REHBERG, MATTHEW; BOZSA, JAMES
To: BLUE ORIGIN, LLC
Reel/Frame 074273/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2025
From: BLUE ORIGIN, LLC
To: BLUE ORIGIN MANUFACTURING, LLC
Reel/Frame 070585/0358 →