cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bhanu M. Gandikota (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7423) Allow updating individual subfields of UDT
Date Mon, 05 Mar 2018 20:01:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-7423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16386662#comment-16386662
] 

Bhanu M. Gandikota commented on CASSANDRA-7423:
-----------------------------------------------

Hi I got the following error stack during "nodetool upgrades stables" [from 2.2.5 to 3.11.1].
What do I need to do ?

 

-bash-4.2$ nodetool upgradesstables

WARN  11:28:28,430 Small cdc volume detected at /cdc_raw; setting cdc_total_space_in_mb to
1982.  You can override this in cassandra.yaml

error: null

-- StackTrace --

java.lang.AssertionError

at org.apache.cassandra.db.rows.BufferCell.<init>(BufferCell.java:43)

at org.apache.cassandra.db.LegacyLayout$CellGrouper.addCell(LegacyLayout.java:1242)

at org.apache.cassandra.db.LegacyLayout$CellGrouper.addAtom(LegacyLayout.java:1185)

at org.apache.cassandra.db.UnfilteredDeserializer$OldFormatDeserializer$UnfilteredIterator.readRow(UnfilteredDeserializer.java:495)

at org.apache.cassandra.db.UnfilteredDeserializer$OldFormatDeserializer$UnfilteredIterator.hasNext(UnfilteredDeserializer.java:472)

at org.apache.cassandra.db.UnfilteredDeserializer$OldFormatDeserializer.hasNext(UnfilteredDeserializer.java:306)

at org.apache.cassandra.io.sstable.SSTableSimpleIterator$OldFormatIterator.readStaticRow(SSTableSimpleIterator.java:176)

at org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:49)

at org.apache.cassandra.io.sstable.SSTableIdentityIterator.create(SSTableIdentityIterator.java:59)

at org.apache.cassandra.io.sstable.format.big.BigTableScanner$KeyScanningIterator$1.initializeIterator(BigTableScanner.java:384)

at org.apache.cassandra.db.rows.LazilyInitializedUnfilteredRowIterator.maybeInit(LazilyInitializedUnfilteredRowIterator.java:48)

at org.apache.cassandra.db.rows.LazilyInitializedUnfilteredRowIterator.isReverseOrder(LazilyInitializedUnfilteredRowIterator.java:70)

at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$1.reduce(UnfilteredPartitionIterators.java:122)

at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$1.reduce(UnfilteredPartitionIterators.java:113)

at org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:466)

at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)

at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$2.hasNext(UnfilteredPartitionIterators.java:163)

at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:92)

at org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:233)

at org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:196)

at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)

at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:85)

at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)

at org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:428)

at org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:315)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:81)

at java.lang.Thread.run(Thread.java:745)

 

> Allow updating individual subfields of UDT
> ------------------------------------------
>
>                 Key: CASSANDRA-7423
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7423
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Tupshin Harper
>            Assignee: Tyler Hobbs
>            Priority: Major
>              Labels: client-impacting, cql, docs-impacting
>             Fix For: 3.6
>
>
> Since user defined types were implemented in CASSANDRA-5590 as blobs (you have to rewrite
the entire type in order to make any modifications), they can't be safely used without LWT
for any operation that wants to modify a subset of the UDT's fields by any client process
that is not authoritative for the entire blob. 
> When trying to use UDTs to model complex records (particularly with nesting), this is
not an exceptional circumstance, this is the totally expected normal situation. 
> The use of UDTs for anything non-trivial is harmful to either performance or consistency
or both.
> edit: to clarify, i believe that most potential uses of UDTs should be considered anti-patterns
until/unless we have field-level r/w access to individual elements of the UDT, with individual
timestamps and standard LWW semantics



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message