You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by db...@apache.org on 2015/12/22 01:27:14 UTC
[1/3] cassandra git commit: make json date formatter thread safe
patch by dbrosius reviewed by thobbs for CASSANDRA-10814
Repository: cassandra
Updated Branches:
refs/heads/trunk 43f8f8bb3 -> 53538cb4d
make json date formatter thread safe
patch by dbrosius reviewed by thobbs for CASSANDRA-10814
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ebbd5169
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ebbd5169
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ebbd5169
Branch: refs/heads/trunk
Commit: ebbd516985bc3e2859ae00e63a024b837cb4b429
Parents: 8565ca8
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Mon Dec 21 19:20:49 2015 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Mon Dec 21 19:20:49 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/marshal/DateType.java | 2 +-
.../apache/cassandra/db/marshal/TimestampType.java | 2 +-
.../cassandra/serializers/TimestampSerializer.java | 15 +++++++++++++--
3 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ebbd5169/src/java/org/apache/cassandra/db/marshal/DateType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/DateType.java b/src/java/org/apache/cassandra/db/marshal/DateType.java
index 359ce52..82ed876 100644
--- a/src/java/org/apache/cassandra/db/marshal/DateType.java
+++ b/src/java/org/apache/cassandra/db/marshal/DateType.java
@@ -82,7 +82,7 @@ public class DateType extends AbstractType<Date>
@Override
public String toJSONString(ByteBuffer buffer, int protocolVersion)
{
- return '"' + TimestampSerializer.TO_JSON_FORMAT.format(TimestampSerializer.instance.deserialize(buffer)) + '"';
+ return '"' + TimestampSerializer.getJsonDateFormatter().format(TimestampSerializer.instance.deserialize(buffer)) + '"';
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ebbd5169/src/java/org/apache/cassandra/db/marshal/TimestampType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/TimestampType.java b/src/java/org/apache/cassandra/db/marshal/TimestampType.java
index b01651d..1704362 100644
--- a/src/java/org/apache/cassandra/db/marshal/TimestampType.java
+++ b/src/java/org/apache/cassandra/db/marshal/TimestampType.java
@@ -90,7 +90,7 @@ public class TimestampType extends AbstractType<Date>
@Override
public String toJSONString(ByteBuffer buffer, int protocolVersion)
{
- return '"' + TimestampSerializer.TO_JSON_FORMAT.format(TimestampSerializer.instance.deserialize(buffer)) + '"';
+ return '"' + TimestampSerializer.getJsonDateFormatter().format(TimestampSerializer.instance.deserialize(buffer)) + '"';
}
@Override
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ebbd5169/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/serializers/TimestampSerializer.java b/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
index ab81fcc..78ee7e7 100644
--- a/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
+++ b/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
@@ -96,8 +96,14 @@ public class TimestampSerializer implements TypeSerializer<Date>
}
};
- public static final SimpleDateFormat TO_JSON_FORMAT = new SimpleDateFormat(dateStringPatterns[15]);
-
+ private static final ThreadLocal<SimpleDateFormat> FORMATTER_TO_JSON = new ThreadLocal<SimpleDateFormat>()
+ {
+ protected SimpleDateFormat initialValue()
+ {
+ return new SimpleDateFormat(dateStringPatterns[15]);
+ }
+ };
+
public static final TimestampSerializer instance = new TimestampSerializer();
public Date deserialize(ByteBuffer bytes)
@@ -138,6 +144,11 @@ public class TimestampSerializer implements TypeSerializer<Date>
throw new MarshalException(String.format("Unable to coerce '%s' to a formatted date (long)", source), e1);
}
}
+
+ public static SimpleDateFormat getJsonDateFormatter()
+ {
+ return FORMATTER_TO_JSON.get();
+ }
public void validate(ByteBuffer bytes) throws MarshalException
{
[2/3] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by db...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Conflicts:
src/java/org/apache/cassandra/serializers/TimestampSerializer.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8e35f84e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8e35f84e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8e35f84e
Branch: refs/heads/trunk
Commit: 8e35f84e93e96be6c8d893a7d396c9ef6d4919fd
Parents: adc9a24 ebbd516
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Mon Dec 21 19:26:12 2015 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Mon Dec 21 19:26:12 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/marshal/DateType.java | 2 +-
.../apache/cassandra/db/marshal/TimestampType.java | 2 +-
.../cassandra/serializers/TimestampSerializer.java | 15 ++++++++++++++-
3 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e35f84e/src/java/org/apache/cassandra/db/marshal/DateType.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e35f84e/src/java/org/apache/cassandra/db/marshal/TimestampType.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e35f84e/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/serializers/TimestampSerializer.java
index 01a85e0,78ee7e7..ad56cd5
--- a/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
+++ b/src/java/org/apache/cassandra/serializers/TimestampSerializer.java
@@@ -97,19 -96,14 +97,27 @@@ public class TimestampSerializer implem
}
};
+ private static final String UTC_FORMAT = dateStringPatterns[40];
+ private static final ThreadLocal<SimpleDateFormat> FORMATTER_UTC = new ThreadLocal<SimpleDateFormat>()
+ {
+ protected SimpleDateFormat initialValue()
+ {
+ SimpleDateFormat sdf = new SimpleDateFormat(UTC_FORMAT);
+ sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
+ return sdf;
+ }
+ };
++
+ private static final ThreadLocal<SimpleDateFormat> FORMATTER_TO_JSON = new ThreadLocal<SimpleDateFormat>()
+ {
+ protected SimpleDateFormat initialValue()
+ {
+ return new SimpleDateFormat(dateStringPatterns[15]);
+ }
+ };
+
- public static final SimpleDateFormat TO_JSON_FORMAT = new SimpleDateFormat(dateStringPatterns[15]);
+
+
public static final TimestampSerializer instance = new TimestampSerializer();
public Date deserialize(ByteBuffer bytes)
[3/3] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Posted by db...@apache.org.
Merge branch 'cassandra-3.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/53538cb4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/53538cb4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/53538cb4
Branch: refs/heads/trunk
Commit: 53538cb4d64509f662967febb7af153d188232df
Parents: 43f8f8b 8e35f84
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Mon Dec 21 19:26:52 2015 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Mon Dec 21 19:26:52 2015 -0500
----------------------------------------------------------------------
.../org/apache/cassandra/db/marshal/DateType.java | 2 +-
.../apache/cassandra/db/marshal/TimestampType.java | 2 +-
.../cassandra/serializers/TimestampSerializer.java | 15 ++++++++++++++-
3 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------