clarus-proxy / clarus-proxy/proxy
Cannot create multi-tables within the same transaction
- Dominant language
- Java
- Stars
- 2
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
I'm testing the CLARUS proxy using the dataset provided in the repository `benchmarking`.
For now i'm focusing on simple tasks, creating the database, the table structure and insertion of some data.
I'm using the version `1.2-snap-ok` tagged in all repositories
I'm using the security policy [patient_anonymisation.xml]( https://github.com/clarus-proxy/benchmarking/blob/master/REQ-NF_PERF/clarus/securitypolicies/patient_anonymisation.xml)
I'm using the dataset [table scheme](https://github.com/clarus-proxy/benchmarking/blob/master/dataSets/ehealth/std/eHealth_tableScheme.tpl) for the table creation
and the dataset [table data](https://github.com/clarus-proxy/benchmarking/blob/master/dataSets/ehealth/std/eHealth_tableData.tpl) for the data insert.
Here is my test:
```bash
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -c "CREATE DATABASE clarus;"
CREATE DATABASE
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -p 5433 -f dataSets/ehealth/std/eHealth_tableScheme.tpl clarus
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
$ PGPASSWORD=password PGUSER=postgres psql -h localhost -f ./dataSets/ehealth/std/eHealth_tableData.tpl clarus
BEGIN
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:91: FATAL: Record creation not supported by this CLARUS proxy
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:93: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
psql:./dataSets/ehealth/std/eHealth_tableData.tpl:93: connection to server was lost
````
The Clarus proxy output a stacktrace:
```java
clarus_1 | 17:57:12.088 ERROR - (C<-S) Close on error
clarus_1 | 17:57:12.091 WARN - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
clarus_1 | io.netty.handler.codec.DecoderException: io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.channelRead(PgsqlMessageHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:358) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:350) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.channelRead(PgsqlMessageHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:372) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:38) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:363) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877) [netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
clarus_1 | Caused by: io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
clarus_1 | at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:111) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | at eu.clarussecure.proxy.spi.CString.release(CString.java:142) ~[proxy-common-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SQLSession.setTransactionErrorDetails(SQLSession.java:809) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.PgsqlEventProcessor.processReadyForQueryResponse(PgsqlEventProcessor.java:8928) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.lambda$process$12(QueryResponseHandler.java:79) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.processDetails(QueryResponseHandler.java:151) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.processDetails(QueryResponseHandler.java:132) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.process(QueryResponseHandler.java:78) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.QueryResponseHandler.process(QueryResponseHandler.java:12) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.decode(PgsqlMessageHandler.java:119) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlMessageHandler.decode(PgsqlMessageHandler.java:37) ~[proxy-plugin-pgsql-1.0.1.jar:1.0.1]
clarus_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-all-4.1.4.Final.jar:4.1.4.Final]
clarus_1 | ... 13 common frames omitted
````
When i tried to inspect the database I can see that the database has been created but not the tables.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.