caioq opened a new pull request, #8405:
URL: https://github.com/apache/incubator-devlake/pull/8405

   <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
   ### ⚠️ Pre Checklist
   
   > Please complete _ALL_ items in this checklist, and remove before submitting
   
   - [ ] I have read through the [Contributing 
Documentation](https://devlake.apache.org/community/).
   - [ ] I have added relevant tests.
   - [ ] I have added relevant documentation.
   - [ ] I will add labels to the PR, such as `pr-type/bug-fix`, 
`pr-type/feature-development`, etc.
   
   <!--
   Thanks for submitting a pull request!
   
   We appreciate you spending the time to work on these changes.
   Please fill out as many sections below as possible.
   -->
   
   ### Summary
   This PR updates the `StatefulApiExtractor.Execute()` method to avoid using a 
long-lived cursor while writing to the database. Previously, the cursor was 
kept open during data iteration and insertions, which led to errors like 
`unexpected EOF` and `busy buffer`. This change introduces a two-phase process: 
first, we collect all raw data IDs using a cursor and then close it. After 
that, each row is loaded individually by ID and processed safely. This avoids 
concurrency issues with the database connection and improves stability for 
high-volume data extractions.
   
   ### Does this close any open issues?
   Closes https://github.com/apache/incubator-devlake/issues/7826
   
   ### Screenshots
   N/A
   
   ### Other Information
   This issue was observed during the `extractIssues` step in the Jira plugin. 
It occurred consistently on subsequent executions of the task, but not on the 
first run after restarting the application.
   This change ensures a more robust extraction flow without requiring 
increased `max_allowed_packet` settings or other MySQL tuning.
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to