You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2012/02/02 00:04:43 UTC
[2/2] git commit: JdbcDate.getString() is not thread-safe
JdbcDate.getString() is not thread-safe
Patch by Dave Brosius; reviewed by eevans for CASSANDRA-3822
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf40da4b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf40da4b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf40da4b
Branch: refs/heads/cassandra-1.1
Commit: bf40da4bed66730bb867d43505a52dbede95cd6d
Parents: 000078e
Author: Eric Evans <ee...@apache.org>
Authored: Wed Feb 1 16:50:36 2012 -0600
Committer: Eric Evans <ee...@apache.org>
Committed: Wed Feb 1 17:02:16 2012 -0600
----------------------------------------------------------------------
.../org/apache/cassandra/cql/jdbc/JdbcDate.java | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf40da4b/src/java/org/apache/cassandra/cql/jdbc/JdbcDate.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/jdbc/JdbcDate.java b/src/java/org/apache/cassandra/cql/jdbc/JdbcDate.java
index 44c2274..c612c28 100644
--- a/src/java/org/apache/cassandra/cql/jdbc/JdbcDate.java
+++ b/src/java/org/apache/cassandra/cql/jdbc/JdbcDate.java
@@ -43,7 +43,13 @@ public class JdbcDate extends AbstractJdbcType<Date>
"yyyy-MM-ddZ"
};
static final String DEFAULT_FORMAT = iso8601Patterns[3];
- static final SimpleDateFormat FORMATTER = new SimpleDateFormat(DEFAULT_FORMAT);
+ static final ThreadLocal<SimpleDateFormat> FORMATTER = new ThreadLocal<SimpleDateFormat>()
+ {
+ protected SimpleDateFormat initialValue()
+ {
+ return new SimpleDateFormat(DEFAULT_FORMAT);
+ }
+ };
public static final JdbcDate instance = new JdbcDate();
@@ -76,7 +82,7 @@ public class JdbcDate extends AbstractJdbcType<Date>
public String toString(Date obj)
{
- return FORMATTER.format(obj);
+ return FORMATTER.get().format(obj);
}
public boolean needsQuotes()
@@ -96,7 +102,7 @@ public class JdbcDate extends AbstractJdbcType<Date>
}
// uses ISO-8601 formatted string
- return FORMATTER.format(new Date(bytes.getLong(bytes.position())));
+ return FORMATTER.get().format(new Date(bytes.getLong(bytes.position())));
}
public Class<Date> getType()