Good morning,
Every now and then, I encounter the error mentioned in the issue title. According to the documentation, I see that the problem occurs when the job is processing more than 9,999 statements.
In my scenario, the application uses a pool of 15 jobs. Here is the code snippet I use to run the queries:
public ArrayList<HashMap<String,Object>> runQuery(boolean isServer1, String sql){
Pool mypPool = isServer1 ? server1 : server2;
ArrayList<HashMap<String,Object>> output = new ArrayList<>();
try {
Query query = mypPool.query(sql);
QueryResult<Object> result = query.execute(100).get();
// Convert each row from QueryResult to HashMap
List<Object> data = result.getData();
while (!result.getIsDone()) {
result = query.fetchMore(100).get();
data.addAll(result.getData());
}
for (Object rowData : data) {
if (rowData instanceof HashMap) {
@SuppressWarnings("unchecked")
HashMap<String, Object> row = (HashMap<String, Object>) rowData;
output.add(row);
}
}
query.close().get();
return output;
} catch (Exception e) {
System.out.println("Errore query su "+(isServer1?"server1":"server2")+": "+sql);
e.printStackTrace();
return null;
}
}
By using the pool and the statement close function, I expected, first of all, to avoid this scenario, and second, that the jobs would be used equally. From wrkactjob, I can see that some jobs are instantiated but rarely used, while others are used much more frequently.
The current workaround is to close the application and restart it so that it can pick up new jobs, but this causes service disruptions
Good morning,
Every now and then, I encounter the error mentioned in the issue title. According to the documentation, I see that the problem occurs when the job is processing more than 9,999 statements.
In my scenario, the application uses a pool of 15 jobs. Here is the code snippet I use to run the queries:
By using the pool and the statement close function, I expected, first of all, to avoid this scenario, and second, that the jobs would be used equally. From wrkactjob, I can see that some jobs are instantiated but rarely used, while others are used much more frequently.
The current workaround is to close the application and restart it so that it can pick up new jobs, but this causes service disruptions