File tree Expand file tree Collapse file tree 3 files changed +10
-4
lines changed
core/src/main/java/cz/o2/proxima/direct/core
io-cassandra/src/main/java/cz/o2/proxima/direct/io/cassandra Expand file tree Collapse file tree 3 files changed +10
-4
lines changed Original file line number Diff line number Diff line change 1515 */
1616package cz .o2 .proxima .direct .core ;
1717
18+ import cz .o2 .proxima .core .annotations .DeclaredThreadSafe ;
1819import cz .o2 .proxima .core .annotations .Internal ;
1920import cz .o2 .proxima .core .functional .Factory ;
2021import cz .o2 .proxima .core .functional .UnaryFunction ;
@@ -360,7 +361,11 @@ private void cacheOrRetrieveWriterFor(DirectAttributeFamilyDescriptor af) {
360361 // store writer of this family to all attributes
361362 for (AttributeDescriptor <?> a : af .getAttributes ()) {
362363 if (a .getTransactionMode () == TransactionMode .NONE ) {
363- writers .put (a , OnlineAttributeWriters .synchronizedWriter (familyWriter ));
364+ if (familyWriter .getClass ().getAnnotation (DeclaredThreadSafe .class ) == null ) {
365+ writers .put (a , OnlineAttributeWriters .synchronizedWriter (familyWriter ));
366+ } else {
367+ writers .put (a , familyWriter );
368+ }
364369 } else {
365370 writers .put (a , maybeTransactionalWriter );
366371 }
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ public synchronized Factory<? extends OnlineAttributeWriter> asFactory() {
4141 }
4242
4343 @ Override
44- public synchronized URI getUri () {
44+ public URI getUri () {
4545 return delegate .getUri ();
4646 }
4747
Original file line number Diff line number Diff line change 1717
1818import com .datastax .driver .core .BoundStatement ;
1919import com .datastax .driver .core .Session ;
20+ import cz .o2 .proxima .core .annotations .DeclaredThreadSafe ;
2021import cz .o2 .proxima .core .storage .StreamElement ;
2122import cz .o2 .proxima .direct .core .AbstractOnlineAttributeWriter ;
2223import cz .o2 .proxima .direct .core .CommitCallback ;
2728
2829/** A {@link OnlineAttributeWriter} implementation for Cassandra. */
2930@ Slf4j
31+ @ DeclaredThreadSafe
3032class CassandraWriter extends AbstractOnlineAttributeWriter implements OnlineAttributeWriter {
3133
3234 private final CassandraDBAccessor accessor ;
@@ -39,8 +41,7 @@ class CassandraWriter extends AbstractOnlineAttributeWriter implements OnlineAtt
3941 }
4042
4143 @ Override
42- public synchronized void write (StreamElement data , CommitCallback statusCallback ) {
43-
44+ public void write (StreamElement data , CommitCallback statusCallback ) {
4445 try {
4546 Session session = accessor .ensureSession ();
4647 Optional <BoundStatement > cql = accessor .getCqlFactory ().getWriteStatement (data , session );
You can’t perform that action at this time.
0 commit comments