Browse Source

conn: unconditionally retry query execution on errUnprepared (#1378)

Henrik Johansson 6 years ago
parent
commit
68f928edb9
1 changed files with 3 additions and 11 deletions
  1. 3 11
      conn.go

+ 3 - 11
conn.go

@@ -1193,11 +1193,8 @@ func (c *Conn) executeQuery(ctx context.Context, qry *Query) *Iter {
 		return iter
 		return iter
 	case *RequestErrUnprepared:
 	case *RequestErrUnprepared:
 		stmtCacheKey := c.session.stmtsLRU.keyFor(c.addr, c.currentKeyspace, qry.stmt)
 		stmtCacheKey := c.session.stmtsLRU.keyFor(c.addr, c.currentKeyspace, qry.stmt)
-		if c.session.stmtsLRU.remove(stmtCacheKey) {
-			return c.executeQuery(ctx, qry)
-		}
-
-		return &Iter{err: x, framer: framer}
+		c.session.stmtsLRU.remove(stmtCacheKey)
+		return c.executeQuery(ctx, qry)
 	case error:
 	case error:
 		return &Iter{err: x, framer: framer}
 		return &Iter{err: x, framer: framer}
 	default:
 	default:
@@ -1339,12 +1336,7 @@ func (c *Conn) executeBatch(ctx context.Context, batch *Batch) *Iter {
 			key := c.session.stmtsLRU.keyFor(c.addr, c.currentKeyspace, stmt)
 			key := c.session.stmtsLRU.keyFor(c.addr, c.currentKeyspace, stmt)
 			c.session.stmtsLRU.remove(key)
 			c.session.stmtsLRU.remove(key)
 		}
 		}
-
-		if found {
-			return c.executeBatch(ctx, batch)
-		} else {
-			return &Iter{err: x, framer: framer}
-		}
+		return c.executeBatch(ctx, batch)
 	case *resultRowsFrame:
 	case *resultRowsFrame:
 		iter := &Iter{
 		iter := &Iter{
 			meta:    x.meta,
 			meta:    x.meta,