[ https://issues.apache.org/jira/browse/CASSANDRA-15871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17135346#comment-17135346 ]
maxwellguo commented on CASSANDRA-15871: ---------------------------------------- Hi [~brandon.williams],when using a driver to do some operaions on cassandra , different users can get all the schemas information when first made a connection after the Auth setp. User A, may store all the keyspaces/tables information in the client side, That's beacuse the client doing query like : "SELECT * FROM System_schema.keyspaces" and get all keyspace from system_schema table。But some keyspace or tables or type may not be created by UserA, It may be UserB; for my test, I doing some logs at Message.java -> channelRead0(ChannelHandlerContext ctx, Request request) {code:java} public void channelRead0(ChannelHandlerContext ctx, Request request) { final Response response; final ServerConnection connection; long queryStartNanoTime = System.nanoTime(); try { assert request.connection() instanceof ServerConnection; connection = (ServerConnection)request.connection(); if (connection.getVersion().isGreaterOrEqualTo(ProtocolVersion.V4)) ClientWarn.instance.captureWarnings(); QueryState qstate = connection.validateNewMessage(request.type, connection.getVersion(), request.getStreamId()); logger.info("Received: {}, v={}", request, connection.getVersion()); // here is my logging response = request.execute(qstate, queryStartNanoTime); logger.info("response : {}", response);// and here is the response. response.setStreamId(request.getStreamId()); response.setWarnings(ClientWarn.instance.getWarnings()); response.attach(connection); connection.applyStateTransition(request.type, response.type); } {code} for me userA create table : kscas.tbcas ;userB create table ksgc.tbgc . But when I using userA to make a connection through cqlsh : my output log shows all tables are return to client. !1.jpg! So I think if it ok that when doing connection through userA, we just return back userA's schema information like table/keyspace/columns/types . > Cassandra driver first connection get the user's own schema information > ------------------------------------------------------------------------ > > Key: CASSANDRA-15871 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15871 > Project: Cassandra > Issue Type: Improvement > Components: Cluster/Schema, Messaging/Client > Reporter: maxwellguo > Priority: Normal > Attachments: 1.jpg > > > We know that cassandra driver making a conenction with the coordinator node > first time , the driver may select all the keyspaces/tables/columns/types > from the server and cache the data locally. > For different users they may have different tables and types ,so It is not > suitable to get all the meta data cached , It is fine to just cache the > user's own schema information not all. > And doing this is safe and save first time connection resourse. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org