Hi I am facing this error while running my java code which connect to MYSQL

error refreshRow() called on row that has been deleted or had primary key changed

I am puzzled as I am not able to update a row in the record. What could be the possible problem behind this error

pls advise

try{
Class.forName("com.mysql.jdbc.Driver").newInstance ();
Conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?user=xxxx&password=xxxx");
stmt = Conn.createStatement(ResultSet.TYPE_SCROLL_INSENSI TIVE,
ResultSet.CONCUR_UPDATABLE);

stmt2 = Conn.createStatement(ResultSet.TYPE_SCROLL_INSENSI TIVE,
ResultSet.CONCUR_UPDATABLE);

while (myThread != null) {
try {

rs = stmt.executeQuery(sqlStatement);

while (rs.next())
{
try {
String sqlStatement2 = "SELECT atomic_charges.* From atomic_charges whe
re ab_mml_ext_app_id = '" + rs.getString("ab_ext_app_id") +"';";
rs2 = stmt2.executeQuery(sqlStatement2);

while (rs2.next())
{

int transactionID = somemethod();

if ( transactionID != 0 ){
String transactionID2 = Integer.toString(transactionID);
rs.updateInt("ab_status", 1);
rs.updateString("ab_transaction_id",transactionID2 );
rs.updateRow();
}
}//while rs2

}//try
catch (Exception ex) {

System.out.println("error " + ex.getMessage());

}//catch

}//while rs1

}//try
catch (SQLException ex) {
System.out.println("error " + ex.getMessage());

}//catch
///////////////////////////////////////
//sleep for 10 sec
try {
Thread.sleep(10000);
}//try
catch (InterruptedException e){
System.out.println(e);
}//catch
}//while
Conn.close();