Hi, CalciteRemoteDriverTest seems to be very unstable at https://builds.apache.org/job/Calcite-Master/
I guess the problem there is the test is using a single CalciteMetaImpl object to handle all the requests. Apparently CalciteMetaImpl is using no synchronization and it uses simple HashMaps (Meta is associated with exactly one Connection which is not thread-safe). I wonder: 1) Is org.apache.calcite.avatica.Meta supposed to be thread-safe? Javadoc does not clarify that. It looks like org.apache.calcite.avatica.jdbc.JdbcMeta is thread-safe. 2) In case Meta is supposed to be thread-safe, why org.apache.calcite.avatica.MetaImpl has Connection constructor? Does Avatica suppose that all connection implementations are thread-safe? 3) In case Meta is supposed to be thread-safe, how MetaImpl#connProps is supposed to work? Apparently different connections might have different properties (e.g. autocommit settings), so how a single connProps would fit all? 4) In case Meta is not supposed to be thread-safe, why org.apache.calcite.avatica.server.Main#start uses just a single Meta object to handle all the requests? 5) Does anybody use CalciteRemoteServer at all? I don't have Calcite-remote use-cases yet, however the current state of builds.apache.org is useless as it fails extremely often. Vladimir