[ 
https://issues.apache.org/jira/browse/HIVE-30024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Rebele updated HIVE-30024:
---------------------------------
    Description: 
Auto-disable fails intermittently on HA configurations, because the query is 
not disabled after the given number of failures. Example beeline output from a 
test run where 3 failures are expected:
{noformat}
'scheduled_executions.scheduled_execution_id'  
'scheduled_executions.schedule_name'  'scheduled_executions.executor_query_id'  
                        'scheduled_executions.state'  
'scheduled_executions.start_time'  'scheduled_executions.end_time'  
'scheduled_executions.elapsed'  'scheduled_executions.error_message'            
                                'scheduled_executions.last_update_time'
'13'                                           'sq_ucw'                         
     'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'  'FAILED' 
                     '2026-09-03 17:31:05'              '2026-09-03 17:31:05'   
         '0'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'12'                                           'sq_ucw'                         
     'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'  'FAILED' 
                     '2026-09-03 17:29:03'              '2026-09-03 17:29:04'   
         '1'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'11'                                           'sq_ucw'                         
     'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'  
'FINISHED'                    '2026-09-03 17:27:01'              '2026-09-03 
17:27:03'            '2'                             'NULL'                     
                                                     'NULL'
'3'                                            'sq_ucw'                         
     'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'  'FAILED' 
                     '2026-09-03 17:30:04'              '2026-09-03 17:30:04'   
         '0'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'2'                                            'sq_ucw'                         
     'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'  'FAILED' 
                     '2026-09-03 17:28:02'              '2026-09-03 17:28:03'   
         '1'                                                                    
                                         

'scheduled_executions.scheduled_execution_id'  
'scheduled_executions.schedule_name'  'scheduled_executions.executor_query_id'  
                        'scheduled_executions.state'  
'scheduled_executions.start_time'  'scheduled_executions.end_time'  
'scheduled_executions.elapsed'  'scheduled_executions.error_message'            
                                'scheduled_executions.last_update_time'
'13'                                           'sq_ucw'                         
     'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'  'FAILED' 
                     '2026-09-03 17:31:05'              '2026-09-03 17:31:05'   
         '0'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'3'                                            'sq_ucw'                         
     'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'  'FAILED' 
                     '2026-09-03 17:30:04'              '2026-09-03 17:30:04'   
         '0'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'12'                                           'sq_ucw'                         
     'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'  'FAILED' 
                     '2026-09-03 17:29:03'              '2026-09-03 17:29:04'   
         '1'                             'FAILED: SemanticException [Error 
10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
'2'                                            'sq_ucw'                         
     'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'  'FAILED' 
                     '2026-09-03 17:28:02'              '2026-09-03 17:28:03'   
         '1'                                                                    
                                         
'11'                                           'sq_ucw'                         
     'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'  
'FINISHED'                    '2026-09-03 17:27:01'              '2026-09-03 
17:27:03'            '2'                             'NULL'                     
                                                     'NULL'{noformat}
Both the test and the actual implementation in ObjectStore expect the IDs to be 
an incrementing sequence, but if you check the above output this is not always 
the case. The above output is ordered using the ID, and start and end 
timestamps should correlate to this, but they don’t.

 
{noformat}
Sep 03 19:26:00 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:1) thread - renaming accordingly.
Sep 03 19:27:01 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:11) thread - renaming accordingly.
Sep 03 19:28:02 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:2) thread - renaming accordingly.
Sep 03 19:29:03 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:12) thread - renaming accordingly.
Sep 03 19:30:04 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:3) thread - renaming accordingly.
Sep 03 19:31:05 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:13) thread - renaming accordingly.
Sep 03 19:32:05 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:4) thread - renaming accordingly.
Sep 03 19:33:06 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:14) thread - renaming accordingly.
Sep 03 19:37:15 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:21) thread - renaming accordingly.
Sep 03 19:38:17 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:22) thread - renaming accordingly.
Sep 03 19:39:18 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:23) thread - renaming accordingly.
Sep 03 19:40:19 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:24) thread - renaming accordingly.
Sep 03 19:41:19 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:25) thread - renaming accordingly.
Sep 03 19:42:20 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:26) thread - renaming accordingly.
Sep 03 19:43:20 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:27) thread - renaming accordingly.{noformat}
It shows that for the first scheduled query the two nodes use their own 
distinct ID ranges. Gemini theorized, the evidence and the DataNucleus 
documentation supports it, that this could be due to ID pre-allocation. From 
the DataNucleus JDO Mapping Guide (v6.0) 
:[https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#value_generation]

 

It looks there are two possible solution: 
- disable pre-allocation
- order by based on an other property that is deterministic, instead of the Id 
itself (maybe end_time can be a proper candidate)

Related code: 
[https://github.com/apache/hive/blob/bfe74f9b3f92188095d50cf103b86431f8aaa821/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java#L2956]

 

  was:
Auto-disable fails intermittently on HA configurations, because the query is 
not disabled after the given number of failures. Example beeline output from a 
test run where 3 failures are expected:
{noformat}
'scheduled_executions.scheduled_execution_id'    
'scheduled_executions.schedule_name'    
'scheduled_executions.executor_query_id'    'scheduled_executions.state'    
'scheduled_executions.start_time'    'scheduled_executions.end_time'    
'scheduled_executions.elapsed'    'scheduled_executions.error_message'    
'scheduled_executions.last_update_time'
'13'    'sq_ucw'    
'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'    'FAILED'    
'2026-09-03 17:31:05'    '2026-09-03 17:31:05'    '0'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'12'    'sq_ucw'    
'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'    'FAILED'    
'2026-09-03 17:29:03'    '2026-09-03 17:29:04'    '1'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'11'    'sq_ucw'    
'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'    'FINISHED'  
  '2026-09-03 17:27:01'    '2026-09-03 17:27:03'    '2'    'NULL'    'NULL'
'3'    'sq_ucw'    
'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'    'FAILED'    
'2026-09-03 17:30:04'    '2026-09-03 17:30:04'    '0'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'2'    'sq_ucw'    
'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'    'FAILED'    
'2026-09-03 17:28:02'    '2026-09-03 17:28:03'    
'1''scheduled_executions.scheduled_execution_id'    
'scheduled_executions.schedule_name'    
'scheduled_executions.executor_query_id'    'scheduled_executions.state'    
'scheduled_executions.start_time'    'scheduled_executions.end_time'    
'scheduled_executions.elapsed'    'scheduled_executions.error_message'    
'scheduled_executions.last_update_time'
'13'    'sq_ucw'    
'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'    'FAILED'    
'2026-09-03 17:31:05'    '2026-09-03 17:31:05'    '0'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'3'    'sq_ucw'    
'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'    'FAILED'    
'2026-09-03 17:30:04'    '2026-09-03 17:30:04'    '0'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'12'    'sq_ucw'    
'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'    'FAILED'    
'2026-09-03 17:29:03'    '2026-09-03 17:29:04'    '1'    'FAILED: 
SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''    'NULL'
'2'    'sq_ucw'    
'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'    'FAILED'    
'2026-09-03 17:28:02'    '2026-09-03 17:28:03'    '1'
'11'    'sq_ucw'    
'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'    'FINISHED'  
  '2026-09-03 17:27:01'    '2026-09-03 17:27:03'    '2'    'NULL'    
'NULL'{noformat}
Both the test and the actual implementation in ObjectStore expect the IDs to be 
an incrementing sequence, but if you check the above output this is not always 
the case. The above output is ordered using the ID, and start and end 
timestamps should correlate to this, but they don’t.

 
{noformat}
Sep 03 19:26:00 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:1) thread - renaming accordingly.
Sep 03 19:27:01 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:11) thread - renaming accordingly.
Sep 03 19:28:02 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:2) thread - renaming accordingly.
Sep 03 19:29:03 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:12) thread - renaming accordingly.
Sep 03 19:30:04 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:3) thread - renaming accordingly.
Sep 03 19:31:05 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:13) thread - renaming accordingly.
Sep 03 19:32:05 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:4) thread - renaming accordingly.
Sep 03 19:33:06 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
execution_id:14) thread - renaming accordingly.
Sep 03 19:37:15 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:21) thread - renaming accordingly.
Sep 03 19:38:17 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:22) thread - renaming accordingly.
Sep 03 19:39:18 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:23) thread - renaming accordingly.
Sep 03 19:40:19 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:24) thread - renaming accordingly.
Sep 03 19:41:19 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:25) thread - renaming accordingly.
Sep 03 19:42:20 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:26) thread - renaming accordingly.
Sep 03 19:43:20 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
execution_id:27) thread - renaming accordingly.{noformat}
It shows that for the first scheduled query the two nodes use their own 
distinct ID ranges. Gemini theorized, the evidence and the DataNucleus 
documentation supports it, that this could be due to ID pre-allocation. From 
the DataNucleus JDO Mapping Guide (v6.0) 
:[https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#value_generation]

 

It looks there are two possible solution: 
- disable pre-allocation
- order by based on an other property that is deterministic, instead of the Id 
itself (maybe end_time can be a proper candidate)

Related code: 
[https://github.com/apache/hive/blob/bfe74f9b3f92188095d50cf103b86431f8aaa821/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java#L2956]

 


> Scheduled Query auto-disable failures in HA configurations
> ----------------------------------------------------------
>
>                 Key: HIVE-30024
>                 URL: https://issues.apache.org/jira/browse/HIVE-30024
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Zsolt Miskolczi
>            Priority: Major
>              Labels: pull-request-available
>
> Auto-disable fails intermittently on HA configurations, because the query is 
> not disabled after the given number of failures. Example beeline output from 
> a test run where 3 failures are expected:
> {noformat}
> 'scheduled_executions.scheduled_execution_id'  
> 'scheduled_executions.schedule_name'  
> 'scheduled_executions.executor_query_id'                          
> 'scheduled_executions.state'  'scheduled_executions.start_time'  
> 'scheduled_executions.end_time'  'scheduled_executions.elapsed'  
> 'scheduled_executions.error_message'                                          
>   'scheduled_executions.last_update_time'
> '13'                                           'sq_ucw'                       
>        'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'  
> 'FAILED'                      '2026-09-03 17:31:05'              '2026-09-03 
> 17:31:05'            '0'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '12'                                           'sq_ucw'                       
>        'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'  
> 'FAILED'                      '2026-09-03 17:29:03'              '2026-09-03 
> 17:29:04'            '1'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '11'                                           'sq_ucw'                       
>        'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'  
> 'FINISHED'                    '2026-09-03 17:27:01'              '2026-09-03 
> 17:27:03'            '2'                             'NULL'                   
>                                                        'NULL'
> '3'                                            'sq_ucw'                       
>        'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'  
> 'FAILED'                      '2026-09-03 17:30:04'              '2026-09-03 
> 17:30:04'            '0'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '2'                                            'sq_ucw'                       
>        'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'  
> 'FAILED'                      '2026-09-03 17:28:02'              '2026-09-03 
> 17:28:03'            '1'                                                      
>                                                        
> 'scheduled_executions.scheduled_execution_id'  
> 'scheduled_executions.schedule_name'  
> 'scheduled_executions.executor_query_id'                          
> 'scheduled_executions.state'  'scheduled_executions.start_time'  
> 'scheduled_executions.end_time'  'scheduled_executions.elapsed'  
> 'scheduled_executions.error_message'                                          
>   'scheduled_executions.last_update_time'
> '13'                                           'sq_ucw'                       
>        'host1/hive_20260903173105_818d5ecb-1774-4462-bd48-61938f96f0c0'  
> 'FAILED'                      '2026-09-03 17:31:05'              '2026-09-03 
> 17:31:05'            '0'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '3'                                            'sq_ucw'                       
>        'host2/hive_20260903173004_b493b2d6-fbcc-4997-8d7e-4555173503d7'  
> 'FAILED'                      '2026-09-03 17:30:04'              '2026-09-03 
> 17:30:04'            '0'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '12'                                           'sq_ucw'                       
>        'host1/hive_20260903172904_2d757695-f189-4eef-9bea-b205aa929a97'  
> 'FAILED'                      '2026-09-03 17:29:03'              '2026-09-03 
> 17:29:04'            '1'                             'FAILED: 
> SemanticException [Error 10001]: Line 1:48 Table not found 'tbl_pqa''  'NULL'
> '2'                                            'sq_ucw'                       
>        'host2/hive_20260903172803_d5fd643e-6902-4502-915c-5bfdc448af55'  
> 'FAILED'                      '2026-09-03 17:28:02'              '2026-09-03 
> 17:28:03'            '1'                                                      
>                                                        
> '11'                                           'sq_ucw'                       
>        'host1/hive_20260903172702_2b06b659-d6df-491c-a13e-42dd174e5797'  
> 'FINISHED'                    '2026-09-03 17:27:01'              '2026-09-03 
> 17:27:03'            '2'                             'NULL'                   
>                                                        'NULL'{noformat}
> Both the test and the actual implementation in ObjectStore expect the IDs to 
> be an incrementing sequence, but if you check the above output this is not 
> always the case. The above output is ordered using the ID, and start and end 
> timestamps should correlate to this, but they don’t.
>  
> {noformat}
> Sep 03 19:26:00 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:1) thread - renaming accordingly.
> Sep 03 19:27:01 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:11) thread - renaming accordingly.
> Sep 03 19:28:02 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:2) thread - renaming accordingly.
> Sep 03 19:29:03 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:12) thread - renaming accordingly.
> Sep 03 19:30:04 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:3) thread - renaming accordingly.
> Sep 03 19:31:05 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:13) thread - renaming accordingly.
> Sep 03 19:32:05 host2: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:4) thread - renaming accordingly.
> Sep 03 19:33:06 host1: Starting Scheduled Query Executor(schedule:sq_ucw, 
> execution_id:14) thread - renaming accordingly.
> Sep 03 19:37:15 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:21) thread - renaming accordingly.
> Sep 03 19:38:17 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:22) thread - renaming accordingly.
> Sep 03 19:39:18 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:23) thread - renaming accordingly.
> Sep 03 19:40:19 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:24) thread - renaming accordingly.
> Sep 03 19:41:19 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:25) thread - renaming accordingly.
> Sep 03 19:42:20 host1: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:26) thread - renaming accordingly.
> Sep 03 19:43:20 host2: Starting Scheduled Query Executor(schedule:sq_wrn, 
> execution_id:27) thread - renaming accordingly.{noformat}
> It shows that for the first scheduled query the two nodes use their own 
> distinct ID ranges. Gemini theorized, the evidence and the DataNucleus 
> documentation supports it, that this could be due to ID pre-allocation. From 
> the DataNucleus JDO Mapping Guide (v6.0) 
> :[https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#value_generation]
>  
> It looks there are two possible solution: 
> - disable pre-allocation
> - order by based on an other property that is deterministic, instead of the 
> Id itself (maybe end_time can be a proper candidate)
> Related code: 
> [https://github.com/apache/hive/blob/bfe74f9b3f92188095d50cf103b86431f8aaa821/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java#L2956]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to