[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427755#comment-15427755 ] Lefty Leverenz commented on HIVE-12637: --- Thanks for the docs, [~wzheng]. I removed the TODOC1.3 and TODOC2.1 labels. For the record, here's the link to *hive.txn.retryable.sqlex.regex* in Configuration Properties: * [hive.txn.retryable.sqlex.regex | https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.retryable.sqlex.regex] > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Fix For: 1.3.0, 2.1.0 > > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15421357#comment-15421357 ] Wei Zheng commented on HIVE-12637: -- [~leftylev] Wiki has been updated. > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Labels: TODOC1.3, TODOC2.1 > Fix For: 1.3.0, 2.1.0 > > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257430#comment-15257430 ] Lefty Leverenz commented on HIVE-12637: --- Doc note: This adds *hive.txn.retryable.sqlex.regex* to HiveConf.java, so it needs to be documented in the Transactions and Compactor section of Configuration Properties for releases 1.3.0 and 2.1.0. It also needs to be added to the Configuration section of the Hive Transactions doc. * [Configuration Properties -- Transactions and Compactor | https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-TransactionsandCompactor] * [Hive Transactions -- Configuration -- New Configuration Parameters for Transactions | https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions#HiveTransactions-NewConfigurationParametersforTransactions] > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Labels: TODOC1.3, TODOC2.1 > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257425#comment-15257425 ] Lefty Leverenz commented on HIVE-12637: --- Nudge: [~wzheng], please update Fix Version/s. > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Labels: TODOC1.3, TODOC2.1 > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15256729#comment-15256729 ] Wei Zheng commented on HIVE-12637: -- Test failures cannot be repro'd locally and don't seem related. Committed to master and branch-1. > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15255321#comment-15255321 ] Hive QA commented on HIVE-12637: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12799318/HIVE-12637.2.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 36 failed/errored test(s), 9886 tests executed *Failed tests:* {noformat} TestHWISessionManager - did not produce a TEST-*.xml file TestMiniTezCliDriver-cte_4.q-schema_evol_text_nonvec_mapwork_table.q-vector_groupby_reduce.q-and-12-more - did not produce a TEST-*.xml file TestMiniTezCliDriver-vector_coalesce.q-auto_sortmerge_join_7.q-orc_merge9.q-and-12-more - did not produce a TEST-*.xml file TestMiniTezCliDriver-vector_decimal_2.q-explainuser_1.q-explainuser_3.q-and-12-more - did not produce a TEST-*.xml file TestMiniTezCliDriver-vectorized_parquet.q-vector_decimal_aggregate.q-tez_self_join.q-and-12-more - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_index_bitmap3 org.apache.hadoop.hive.llap.daemon.impl.TestLlapDaemonProtocolServerImpl.test org.apache.hadoop.hive.metastore.TestAuthzApiEmbedAuthorizerInRemote.org.apache.hadoop.hive.metastore.TestAuthzApiEmbedAuthorizerInRemote org.apache.hadoop.hive.metastore.TestFilterHooks.org.apache.hadoop.hive.metastore.TestFilterHooks org.apache.hadoop.hive.metastore.TestMetaStoreEndFunctionListener.testEndFunctionListener org.apache.hadoop.hive.metastore.TestMetaStoreEventListenerOnlyOnCommit.testEventStatus org.apache.hadoop.hive.metastore.TestMetaStoreInitListener.testMetaStoreInitListener org.apache.hadoop.hive.metastore.TestMetaStoreMetrics.org.apache.hadoop.hive.metastore.TestMetaStoreMetrics org.apache.hadoop.hive.metastore.TestPartitionNameWhitelistValidation.testAppendPartitionWithCommas org.apache.hadoop.hive.metastore.TestPartitionNameWhitelistValidation.testAppendPartitionWithUnicode org.apache.hadoop.hive.metastore.TestPartitionNameWhitelistValidation.testAppendPartitionWithValidCharacters org.apache.hadoop.hive.metastore.TestRetryingHMSHandler.testRetryingHMSHandler org.apache.hadoop.hive.ql.security.TestExtendedAcls.org.apache.hadoop.hive.ql.security.TestExtendedAcls org.apache.hadoop.hive.ql.security.TestFolderPermissions.org.apache.hadoop.hive.ql.security.TestFolderPermissions org.apache.hadoop.hive.ql.security.TestMultiAuthorizationPreEventListener.org.apache.hadoop.hive.ql.security.TestMultiAuthorizationPreEventListener org.apache.hadoop.hive.ql.security.TestStorageBasedClientSideAuthorizationProvider.testSimplePrivileges org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationDrops.testDropPartition org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationProvider.testSimplePrivileges org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationProviderWithACL.testSimplePrivileges org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationReads.testReadDbFailure org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationReads.testReadDbSuccess org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationReads.testReadTableFailure org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationReads.testReadTableSuccess org.apache.hadoop.hive.ql.security.TestStorageBasedMetastoreAuthorizationReads.testReadTableSuccessWithReadOnly org.apache.hadoop.hive.thrift.TestHadoopAuthBridge23.testMetastoreProxyUser org.apache.hadoop.hive.thrift.TestHadoopAuthBridge23.testSaslWithHiveMetaStore org.apache.hive.beeline.TestSchemaTool.testSchemaInit org.apache.hive.hcatalog.api.repl.commands.TestCommands.org.apache.hive.hcatalog.api.repl.commands.TestCommands org.apache.hive.hcatalog.listener.TestDbNotificationListener.dropDatabase org.apache.hive.jdbc.TestSSL.testSSLFetchHttp org.apache.hive.minikdc.TestJdbcWithDBTokenStore.org.apache.hive.minikdc.TestJdbcWithDBTokenStore {noformat} Test results: http://ec2-54-177-240-2.us-west-1.compute.amazonaws.com/job/PreCommit-HIVE-MASTER-Build/50/testReport Console output: http://ec2-54-177-240-2.us-west-1.compute.amazonaws.com/job/PreCommit-HIVE-MASTER-Build/50/console Test logs: http://ec2-50-18-27-0.us-west-1.compute.amazonaws.com/logs/PreCommit-HIVE-MASTER-Build-50/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 36 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12799318 - PreCommit-HIVE-MASTER-Build > make retryable SQLExceptions in TxnHandler configurable > ---
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15246385#comment-15246385 ] Eugene Koifman commented on HIVE-12637: --- +1 > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Attachments: HIVE-12637.1.patch, HIVE-12637.2.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243890#comment-15243890 ] Eugene Koifman commented on HIVE-12637: --- [~wzheng] 1. For the description of HIVE_TXN_RETRYABLE_SQLEX_REGEX I would add that the string that the regex will check is "ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" + ex.getErrorCode() + ")"" where "ex" is a SQLException. I think this would make it more intuitive for end users. 2. testRetryableRegex() could you add a test where the error msg includes a ","? > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Attachments: HIVE-12637.1.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220586#comment-15220586 ] Wei Zheng commented on HIVE-12637: -- [~ekoifman] Can you take a look? > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Attachments: HIVE-12637.1.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220495#comment-15220495 ] Hive QA commented on HIVE-12637: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12795975/HIVE-12637.1.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 6 failed/errored test(s), 9895 tests executed *Failed tests:* {noformat} TestSparkCliDriver-groupby3_map.q-sample2.q-auto_join14.q-and-12-more - did not produce a TEST-*.xml file TestSparkCliDriver-groupby_map_ppr_multi_distinct.q-table_access_keys_stats.q-groupby4_noskew.q-and-12-more - did not produce a TEST-*.xml file TestSparkCliDriver-join_rc.q-insert1.q-vectorized_rcfile_columnar.q-and-12-more - did not produce a TEST-*.xml file TestSparkCliDriver-parallel_join0.q-union_remove_9.q-smb_mapjoin_21.q-and-12-more - did not produce a TEST-*.xml file TestSparkCliDriver-ppd_join4.q-join9.q-ppd_join3.q-and-12-more - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_index_bitmap3 {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/7425/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/7425/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-7425/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 6 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12795975 - PreCommit-HIVE-TRUNK-Build > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > Attachments: HIVE-12637.1.patch > > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15170647#comment-15170647 ] Eugene Koifman commented on HIVE-12637: --- look at TxnHandler.checkRetryable() for example. It has logic to retry certain errors and propagate others. The list of errors it will retry is baked into the code. It would be more flexible if instead there was a configurable (by end user) list of errors that will be retried. For example, "ORA-08176" is not there currently. I suggest that we need to add a mechanism where the user can specify any number of RegEx strings and we'll check (in checkRetryable) if (DB_TYPE + ex.getMessage() + ex.getSQLState() + ex.getErrorCode()) matches any of the RegExes and if so, consider the error retryable. > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-12637) make retryable SQLExceptions in TxnHandler configurable
[ https://issues.apache.org/jira/browse/HIVE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15170160#comment-15170160 ] Wei Zheng commented on HIVE-12637: -- [~ekoifman] Can you give a concrete example for this? > make retryable SQLExceptions in TxnHandler configurable > --- > > Key: HIVE-12637 > URL: https://issues.apache.org/jira/browse/HIVE-12637 > Project: Hive > Issue Type: Improvement > Components: Transactions >Affects Versions: 1.0.0 >Reporter: Eugene Koifman >Assignee: Wei Zheng > > same for CompactionTxnHandler > would be convenient if the user could specify some RegEx (perhaps by db type) > which will tell TxnHandler.checkRetryable() that this is should be retried. > The regex should probably apply to String produced by > {noformat} > private static String getMessage(SQLException ex) { > return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" > + ex.getErrorCode() + ")"; > } > {noformat} > This make it flexible. > See if we need to add Db type (and possibly version) of the DB being used. > With 5 different DBs supported this gives control end users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)