This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 880b07c2e63f6e1dea92995a1baa14707e3c2e5e Merge: dd255ff 4fef917 Author: Alex Petrov <oleksandr.pet...@gmail.com> AuthorDate: Fri Jun 5 19:25:27 2020 +0200 Merge branch 'cassandra-2.2' into cassandra-3.0 build.xml | 2 +- .../org/apache/cassandra/distributed/Cluster.java | 38 +++++++--------- .../cassandra/distributed/UpgradeableCluster.java | 33 +++++++------- .../distributed/impl/AbstractCluster.java | 53 ++++++++++++++++++---- .../cassandra/distributed/impl/Coordinator.java | 33 ++++++-------- .../impl/DelegatingInvokableInstance.java | 6 +++ .../cassandra/distributed/impl/Instance.java | 10 ++-- .../apache/cassandra/distributed/impl/RowUtil.java | 22 +++++++++ .../cassandra/distributed/test/BootstrapTest.java | 18 +++----- .../cassandra/distributed/test/TestBaseImpl.java | 9 ++-- .../distributed/upgrade/UpgradeTestBase.java | 10 ++-- 11 files changed, 139 insertions(+), 95 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java index e2ebef0,6553fb9..2f2b525 --- a/test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Coordinator.java @@@ -35,9 -36,13 +36,11 @@@ import org.apache.cassandra.distributed import org.apache.cassandra.distributed.api.ICoordinator; import org.apache.cassandra.distributed.api.IInstance; import org.apache.cassandra.distributed.api.QueryResult; + import org.apache.cassandra.distributed.api.QueryResults; + import org.apache.cassandra.distributed.api.SimpleQueryResult; import org.apache.cassandra.service.ClientState; import org.apache.cassandra.service.QueryState; -import org.apache.cassandra.service.pager.Pageable; import org.apache.cassandra.service.pager.QueryPager; -import org.apache.cassandra.service.pager.QueryPagers; import org.apache.cassandra.transport.Server; import org.apache.cassandra.tracing.Tracing; import org.apache.cassandra.transport.messages.ResultMessage; @@@ -78,9 -83,9 +81,9 @@@ public class Coordinator implements ICo return org.apache.cassandra.db.ConsistencyLevel.fromCode(cl.ordinal()); } - private QueryResult executeInternal(String query, ConsistencyLevel consistencyLevelOrigin, Object[] boundValues) + private SimpleQueryResult executeInternal(String query, ConsistencyLevel consistencyLevelOrigin, Object[] boundValues) { - ClientState clientState = ClientState.forInternalCalls(); + ClientState clientState = makeFakeClientState(); CQLStatement prepared = QueryProcessor.getStatement(query, clientState).statement; List<ByteBuffer> boundBBValues = new ArrayList<>(); ConsistencyLevel consistencyLevel = ConsistencyLevel.valueOf(consistencyLevelOrigin.name()); @@@ -136,29 -130,32 +129,30 @@@ boundBBValues.add(ByteBufferUtil.objectToBytes(boundValue)); } - prepared.validate(QueryState.forInternalCalls().getClientState()); + prepared.validate(clientState); assert prepared instanceof SelectStatement : "Only SELECT statements can be executed with paging"; - ClientState clientState = QueryState.forInternalCalls().getClientState(); SelectStatement selectStatement = (SelectStatement) prepared; - QueryOptions queryOptions = QueryOptions.create(toCassandraCL(consistencyLevel), - boundBBValues, - false, - pageSize, - null, - null, - Server.CURRENT_VERSION); - Pageable pageable = selectStatement.getPageableCommand(queryOptions); + + QueryPager pager = selectStatement.getQuery(QueryOptions.create(toCassandraCL(consistencyLevel), + boundBBValues, + false, + pageSize, + null, + null, + Server.CURRENT_VERSION), + FBUtilities.nowInSeconds()) - .getPager(null, Server.CURRENT_VERSION); ++ .getPager(null, Server.CURRENT_VERSION); // Usually pager fetches a single page (see SelectStatement#execute). We need to iterate over all // of the results lazily. - return new Iterator<Object[]>() { - Iterator<Object[]> iter = RowUtil.toObjects(UntypedResultSet.create(selectStatement, toCassandraCL(consistencyLevel), clientState, pager, pageSize)); - QueryPager pager = QueryPagers.pager(pageable, toCassandraCL(consistencyLevel), clientState, null); - Iterator<Object[]> iter = RowUtil.toObjects(selectStatement.getResultMetadata().names, - UntypedResultSet.create(selectStatement, - pager, - pageSize).iterator()); - - // We have to make sure iterator is not running on main thread. - Iterator<Object[]> it = new Iterator<Object[]>() { ++ UntypedResultSet rs = UntypedResultSet.create(selectStatement, toCassandraCL(consistencyLevel), clientState, pager, pageSize); ++ Iterator<Object[]> it = new Iterator<Object[]>() { ++ Iterator<Object[]> iter = RowUtil.toObjects(rs); + public boolean hasNext() { + // We have to make sure iterator is not running on main thread. return instance.sync(() -> iter.hasNext()).call(); } @@@ -167,6 -164,7 +161,7 @@@ return instance.sync(() -> iter.next()).call(); } }; - return QueryResults.fromObjectArrayIterator(RowUtil.getColumnNames(selectStatement.getResultMetadata().names), it); ++ return QueryResults.fromObjectArrayIterator(RowUtil.getColumnNames(rs.metadata()), it); }).call(); } diff --cc test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java index 8de3e4c,d540442..4f0c700 --- a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java +++ b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java @@@ -30,16 -30,13 +30,14 @@@ import org.junit.BeforeClass import org.apache.cassandra.distributed.UpgradeableCluster; import org.apache.cassandra.distributed.api.ICluster; - import org.apache.cassandra.distributed.api.IInstance; import org.apache.cassandra.distributed.api.IInstanceConfig; +import org.apache.cassandra.distributed.api.IUpgradeableInstance; import org.apache.cassandra.distributed.impl.Instance; - import org.apache.cassandra.distributed.impl.InstanceConfig; - import org.apache.cassandra.distributed.shared.Builder; import org.apache.cassandra.distributed.shared.DistributedTestBase; import org.apache.cassandra.distributed.shared.Versions; - import static org.apache.cassandra.distributed.shared.Versions.Version; + import static org.apache.cassandra.distributed.shared.Versions.Major; + import static org.apache.cassandra.distributed.shared.Versions.Version; import static org.apache.cassandra.distributed.shared.Versions.find; public class UpgradeTestBase extends DistributedTestBase --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org