[jira] [Updated] (BEAM-793) JdbcIO can create a deadlock when parallelism is greater than 1
[ https://issues.apache.org/jira/browse/BEAM-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré updated BEAM-793: -- Fix Version/s: (was: 2.3.0) 2.4.0 > JdbcIO can create a deadlock when parallelism is greater than 1 > --- > > Key: BEAM-793 > URL: https://issues.apache.org/jira/browse/BEAM-793 > Project: Beam > Issue Type: Bug > Components: sdk-java-extensions >Reporter: Jean-Baptiste Onofré >Assignee: Jean-Baptiste Onofré >Priority: Major > Fix For: 2.4.0 > > > With the following JdbcIO configuration, if the parallelism is greater than > 1, we can have a {{Deadlock found when trying to get lock; try restarting > transaction}}. > {code} > MysqlDataSource dbCfg = new MysqlDataSource(); > dbCfg.setDatabaseName("db"); > dbCfg.setUser("user"); > dbCfg.setPassword("pass"); > dbCfg.setServerName("localhost"); > dbCfg.setPortNumber(3306); > p.apply(Create.of(data)) > .apply(JdbcIO. Long>>write() > > .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(dbCfg)) > .withStatement("INSERT INTO > smth(loc,event_type,hash,begin_date,end_date) VALUES(?, ?, ?, ?, ?) ON > DUPLICATE KEY UPDATE event_type=VALUES(event_type),end_date=VALUES(end_date)") > .withPreparedStatementSetter(new > JdbcIO.PreparedStatementSetter Long>>() { > public void setParameters(Tuple5 Integer, ByteString, Long, Long> element, PreparedStatement statement) > throws Exception { > statement.setInt(1, element.f0); > statement.setInt(2, element.f1); > statement.setBytes(3, > element.f2.toByteArray()); > statement.setLong(4, element.f3); > statement.setLong(5, element.f4); > } > })); > {code} > This can happen due to the {{autocommit}}. I'm going to investigate. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (BEAM-793) JdbcIO can create a deadlock when parallelism is greater than 1
[ https://issues.apache.org/jira/browse/BEAM-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré updated BEAM-793: -- Fix Version/s: (was: 2.4.0) 2.3.0 > JdbcIO can create a deadlock when parallelism is greater than 1 > --- > > Key: BEAM-793 > URL: https://issues.apache.org/jira/browse/BEAM-793 > Project: Beam > Issue Type: Bug > Components: sdk-java-extensions >Reporter: Jean-Baptiste Onofré >Assignee: Jean-Baptiste Onofré >Priority: Major > Fix For: 2.3.0 > > Time Spent: 4h 20m > Remaining Estimate: 0h > > With the following JdbcIO configuration, if the parallelism is greater than > 1, we can have a {{Deadlock found when trying to get lock; try restarting > transaction}}. > {code} > MysqlDataSource dbCfg = new MysqlDataSource(); > dbCfg.setDatabaseName("db"); > dbCfg.setUser("user"); > dbCfg.setPassword("pass"); > dbCfg.setServerName("localhost"); > dbCfg.setPortNumber(3306); > p.apply(Create.of(data)) > .apply(JdbcIO. Long>>write() > > .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(dbCfg)) > .withStatement("INSERT INTO > smth(loc,event_type,hash,begin_date,end_date) VALUES(?, ?, ?, ?, ?) ON > DUPLICATE KEY UPDATE event_type=VALUES(event_type),end_date=VALUES(end_date)") > .withPreparedStatementSetter(new > JdbcIO.PreparedStatementSetter Long>>() { > public void setParameters(Tuple5 Integer, ByteString, Long, Long> element, PreparedStatement statement) > throws Exception { > statement.setInt(1, element.f0); > statement.setInt(2, element.f1); > statement.setBytes(3, > element.f2.toByteArray()); > statement.setLong(4, element.f3); > statement.setLong(5, element.f4); > } > })); > {code} > This can happen due to the {{autocommit}}. I'm going to investigate. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (BEAM-793) JdbcIO can create a deadlock when parallelism is greater than 1
[ https://issues.apache.org/jira/browse/BEAM-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré updated BEAM-793: -- Fix Version/s: 2.2.0 > JdbcIO can create a deadlock when parallelism is greater than 1 > --- > > Key: BEAM-793 > URL: https://issues.apache.org/jira/browse/BEAM-793 > Project: Beam > Issue Type: Bug > Components: sdk-java-extensions >Reporter: Jean-Baptiste Onofré >Assignee: Jean-Baptiste Onofré > Fix For: 2.2.0 > > > With the following JdbcIO configuration, if the parallelism is greater than > 1, we can have a {{Deadlock found when trying to get lock; try restarting > transaction}}. > {code} > MysqlDataSource dbCfg = new MysqlDataSource(); > dbCfg.setDatabaseName("db"); > dbCfg.setUser("user"); > dbCfg.setPassword("pass"); > dbCfg.setServerName("localhost"); > dbCfg.setPortNumber(3306); > p.apply(Create.of(data)) > .apply(JdbcIO. Long>>write() > > .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(dbCfg)) > .withStatement("INSERT INTO > smth(loc,event_type,hash,begin_date,end_date) VALUES(?, ?, ?, ?, ?) ON > DUPLICATE KEY UPDATE event_type=VALUES(event_type),end_date=VALUES(end_date)") > .withPreparedStatementSetter(new > JdbcIO.PreparedStatementSetter Long>>() { > public void setParameters(Tuple5 Integer, ByteString, Long, Long> element, PreparedStatement statement) > throws Exception { > statement.setInt(1, element.f0); > statement.setInt(2, element.f1); > statement.setBytes(3, > element.f2.toByteArray()); > statement.setLong(4, element.f3); > statement.setLong(5, element.f4); > } > })); > {code} > This can happen due to the {{autocommit}}. I'm going to investigate. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (BEAM-793) JdbcIO can create a deadlock when parallelism is greater than 1
[ https://issues.apache.org/jira/browse/BEAM-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré updated BEAM-793: -- Fix Version/s: (was: 2.2.0) 2.3.0 > JdbcIO can create a deadlock when parallelism is greater than 1 > --- > > Key: BEAM-793 > URL: https://issues.apache.org/jira/browse/BEAM-793 > Project: Beam > Issue Type: Bug > Components: sdk-java-extensions >Reporter: Jean-Baptiste Onofré >Assignee: Jean-Baptiste Onofré > Fix For: 2.3.0 > > > With the following JdbcIO configuration, if the parallelism is greater than > 1, we can have a {{Deadlock found when trying to get lock; try restarting > transaction}}. > {code} > MysqlDataSource dbCfg = new MysqlDataSource(); > dbCfg.setDatabaseName("db"); > dbCfg.setUser("user"); > dbCfg.setPassword("pass"); > dbCfg.setServerName("localhost"); > dbCfg.setPortNumber(3306); > p.apply(Create.of(data)) > .apply(JdbcIO. Long>>write() > > .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create(dbCfg)) > .withStatement("INSERT INTO > smth(loc,event_type,hash,begin_date,end_date) VALUES(?, ?, ?, ?, ?) ON > DUPLICATE KEY UPDATE event_type=VALUES(event_type),end_date=VALUES(end_date)") > .withPreparedStatementSetter(new > JdbcIO.PreparedStatementSetter Long>>() { > public void setParameters(Tuple5 Integer, ByteString, Long, Long> element, PreparedStatement statement) > throws Exception { > statement.setInt(1, element.f0); > statement.setInt(2, element.f1); > statement.setBytes(3, > element.f2.toByteArray()); > statement.setLong(4, element.f3); > statement.setLong(5, element.f4); > } > })); > {code} > This can happen due to the {{autocommit}}. I'm going to investigate. -- This message was sent by Atlassian JIRA (v6.4.14#64029)