cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-9975) Flatten RowIterator call hierarchy with a shared RowTransformer
Date Tue, 04 Aug 2015 06:50:04 GMT
Benedict created CASSANDRA-9975:

             Summary: Flatten RowIterator call hierarchy with a shared RowTransformer
                 Key: CASSANDRA-9975
             Project: Cassandra
          Issue Type: Sub-task
          Components: Core
            Reporter: Benedict
            Assignee: Benedict
             Fix For: 3.0.0 rc1

Stepping through a read response is made exceedingly difficult by the sheer depth of the call
hierarchy, and how rapidly your context jumps around. This ticket intend to partially address
that, by flattening one of the main causes of this: iterator transformations.

I have a patch that attempts to mitigate (but not entirely eliminate) this, through the introduction
of a {{RowTransformer}} class that all transformations are applied through. If a transformation
has already been applied, the {{RowTransformer}} class does not wrap a new iterator, but instead
returns a new {{RowTransformer}} that wraps the original underlying (untransformed) iterator
and both transformations. This can accumulate an arbitrary number of transformations and,
quite importantly, can apply the filtration step {{Unfiltered -> Row}}  in the same instance
as well. The intention being that a majority of control flow happens inside this {{RowTransformer}},
so there is far less context jumping to cope with.

This message was sent by Atlassian JIRA

View raw message