From 79b7391c22ba088a78a073471ab70af5ce9d03dc Mon Sep 17 00:00:00 2001 From: Rajani Karuturi Date: Thu, 15 Oct 2015 15:03:31 +0530 Subject: [PATCH] CLOUDSTACK-8923: Create storage network IP range failed transaction.getConnection() was wrapped in try-with-resource. This caused transaction to get closed even before its committed. --- .../network/StorageNetworkManagerImpl.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/server/src/com/cloud/network/StorageNetworkManagerImpl.java b/server/src/com/cloud/network/StorageNetworkManagerImpl.java index 76a51d97d8e..1e6616f753a 100644 --- a/server/src/com/cloud/network/StorageNetworkManagerImpl.java +++ b/server/src/com/cloud/network/StorageNetworkManagerImpl.java @@ -104,20 +104,19 @@ public class StorageNetworkManagerImpl extends ManagerBase implements StorageNet String insertSql = "INSERT INTO `cloud`.`op_dc_storage_network_ip_address` (range_id, ip_address, mac_address, taken) VALUES (?, ?, (select mac_address from `cloud`.`data_center` where id=?), ?)"; String updateSql = "UPDATE `cloud`.`data_center` set mac_address = mac_address+1 where id=?"; - try (Connection conn = txn.getConnection();) { - while (startIPLong <= endIPLong) { - try (PreparedStatement stmt_insert = conn.prepareStatement(insertSql); ) { - stmt_insert.setLong(1, rangeId); - stmt_insert.setString(2, NetUtils.long2Ip(startIPLong++)); - stmt_insert.setLong(3, zoneId); - stmt_insert.setNull(4, java.sql.Types.DATE); - stmt_insert.executeUpdate(); - } + Connection conn = txn.getConnection(); + while (startIPLong <= endIPLong) { + try (PreparedStatement stmt_insert = conn.prepareStatement(insertSql);) { + stmt_insert.setLong(1, rangeId); + stmt_insert.setString(2, NetUtils.long2Ip(startIPLong++)); + stmt_insert.setLong(3, zoneId); + stmt_insert.setNull(4, java.sql.Types.DATE); + stmt_insert.executeUpdate(); + } - try (PreparedStatement stmt_update = txn.prepareStatement(updateSql);) { - stmt_update.setLong(1, zoneId); - stmt_update.executeUpdate(); - } + try (PreparedStatement stmt_update = txn.prepareStatement(updateSql);) { + stmt_update.setLong(1, zoneId); + stmt_update.executeUpdate(); } } }