tarantool / cartridge-springdata

Spring Data Tarantool
Other
18 stars 7 forks source link

Requests to TDG2 via Iproto are falling #95

Closed wey1and closed 2 years ago

wey1and commented 2 years ago
io.tarantool.driver.exceptions.TarantoolInternalException: InnerErrorMessage:
code: 42
message: Execute access to function 'box.space._vspace:select' is denied for user 'tdg_service_user'
    at io.tarantool.driver.exceptions.errors.TarantoolErrors$TarantoolBoxErrorFactory.create(TarantoolErrors.java:144) ~[cartridge-driver-0.7.0.jar:na]
    at io.tarantool.driver.handlers.TarantoolResponseHandler.channelRead0(TarantoolResponseHandler.java:45) ~[cartridge-driver-0.7.0.jar:na]
    at io.tarantool.driver.handlers.TarantoolResponseHandler.channelRead0(TarantoolResponseHandler.java:23) ~[cartridge-driver-0.7.0.jar:na]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:349) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.59.Final.jar:4.1.59.Final]
    at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]
vrogach2020 commented 2 years ago

@wey1and what springdata method causes this ? It the client correctly configured ? @ArtDu do you have w/as for this ?

ArtDu commented 2 years ago

tdg_service_user does not have access to the _vspace function and most likely does not have access to ddl.get_schema(). And now, when AUTO - CallForObject really works for us, i.e. accepts Tuple, then it needs a metadata, which is obtained from _vspace or from ddl. Now we don't have w/a, except using admin user instead of tdg_service_user

By default springdata has ClusterTarantoolTupleClient and it accesses _vspace