[JBoss JIRA] (ISPN-8535) Rest API redesign
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-8535?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-8535:
----------------------------------
Sprint: Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Beta1, DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32 (was: Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Beta1, DataGrid Sprint #30, DataGrid Sprint #31)
> Rest API redesign
> -----------------
>
> Key: ISPN-8535
> URL: https://issues.jboss.org/browse/ISPN-8535
> Project: Infinispan
> Issue Type: Feature Request
> Components: Server
> Affects Versions: 9.2.0.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Priority: Major
> Fix For: 10.0.0.Final
>
>
> Infinispan REST API deals with only one resource, (the cache) and maps all operations on the cache using HTTP verbs and request parameters. The API assumes the URI is related to the cache making it hard to add new kinds of resources without causing ambiguous references.
> Since we now have other types of entities, such as counters, scripts, templates, etc, and each one of them can involve different operations, we should make the API more "Restful" by using more than one resource and collections of resources, plus HTTP verbs and operations on them. Examples:
> * Create a cache: POST /rest/caches
> * Delete a cache: DELETE /rest/caches/myCache
> * Create a template: POST /rest/templates
> * Delete a template: DELETE /rest/templates/myTemplate
> * Create an entry: POST /rest/caches/myCache/1
> * Create a counter: POST /rest/counters
> * Get a counter value: GET /rest/counters/mycounter
> * Increment a counter: GET /rest/counters/mycounter?action=increment
> * Search a cache: GET /rest/caches/myCache?action=search
> * Create a script: POST /rest/scripts/
> * Get a script source: GET /rest/scritps/myScript
> * Execute a script: GET /rest/scripts/myScript?action=execute¶m1=foo
> * Stop individual servers and the full cluster
>
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 8 months
[JBoss JIRA] (ISPN-10460) Remove NestedAttributeSerializer
by Gustavo Fernandes (Jira)
Gustavo Fernandes created ISPN-10460:
----------------------------------------
Summary: Remove NestedAttributeSerializer
Key: ISPN-10460
URL: https://issues.jboss.org/browse/ISPN-10460
Project: Infinispan
Issue Type: Enhancement
Affects Versions: 10.0.0.Beta5
Reporter: Gustavo Fernandes
Assignee: Gustavo Fernandes
{{Attribute}} definitions from {{Configuration}} classes shouldn't be rendered as JSON objects but as fields of a JSON Object that is mapped to a (sub)Configuration. Follow up on ISPN-10452
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 8 months
[JBoss JIRA] (HRJS-87) Support transactional caches with pessimistic locking
by Daniel Fröhlich (Jira)
Daniel Fröhlich created HRJS-87:
-----------------------------------
Summary: Support transactional caches with pessimistic locking
Key: HRJS-87
URL: https://issues.jboss.org/browse/HRJS-87
Project: Infinispan Javascript client
Issue Type: Feature Request
Affects Versions: 0.6.0
Reporter: Daniel Fröhlich
As infinispan javascript client user, I want to be able to use transaction and locking capabilities of infinispan server so that I can implement my business functionality correctly.
I need to do pessimistic locking for certain critical cache entries from a nodejs server component. Infinispan Javascript API currently does not support transaction/locking.
I would love to see something like this:
{code:java}
await cache.transaction.begin();
await cache.lock(key);
value = await cache.get(key);
// Do something lengthy and critical with value here
cache.put(key, value);
await cache.transaction.commit();
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 8 months
[JBoss JIRA] (ISPN-10459) HTTP/2: IllegalArgumentException: No enum constant org.infinispan.rest.framework.Method.PRI
by Gustavo Lira e Silva (Jira)
Gustavo Lira e Silva created ISPN-10459:
-------------------------------------------
Summary: HTTP/2: IllegalArgumentException: No enum constant org.infinispan.rest.framework.Method.PRI
Key: ISPN-10459
URL: https://issues.jboss.org/browse/ISPN-10459
Project: Infinispan
Issue Type: Bug
Components: REST
Affects Versions: 10.0.0.Beta5
Reporter: Gustavo Lira e Silva
Rest requests with HTTP/2 is not working. The following exception is being throw when using ISPN master branch running with Wildfly:
{noformat}
18:44:56,152 ERROR [org.infinispan.rest.Http20RequestHandler] (REST-ServerIO-6-1) ISPN012006: Uncaught exception in the pipeline: java.lang.IllegalArgumentException: No enum constant org.infinispan.rest.framework.Method.PRI
at java.base/java.lang.Enum.valueOf(Enum.java:240)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.framework.Method.valueOf(Method.java:6)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.NettyRestRequest.method(NettyRestRequest.java:69)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.framework.impl.RestDispatcherImpl.dispatch(RestDispatcherImpl.java:36)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.Http20RequestHandler.channelRead0(Http20RequestHandler.java:58)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.Http11RequestHandler.channelRead0(Http11RequestHandler.java:35)
at org.infinispan.server.rest:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.rest.Http11RequestHandler.channelRead0(Http11RequestHandler.java:18)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.http.cors.CorsHandler.channelRead(CorsHandler.java:95)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at org.infinispan.server:ispn-10.0@10.0.0-SNAPSHOT//org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
{noformat}
PRI method will appear to be used when an HTTP/1.1 server or intermediary attempts to parse an HTTP/2 connection preface
Rest authentication was disabled on standalone.xml and the request was made using
{code:bash}
curl -k -v http://localhost:8080/rest/default/1 --http2-prior-knowledge
{code}
If I add this value “PRI” into org.infinispan.rest.framework.Method the following exception is throw
{noformat}
18:57:07,836 ERROR [org.infinispan.rest.Http20RequestHandler] (REST-ServerIO-6-1) ISPN012006: Uncaught exception in the pipeline: java.io.IOException: Connection reset by peer
at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1125)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
at io.netty:ispn-10.0@4.1.34.Final//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
{noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 8 months
[JBoss JIRA] (ISPN-10456) Remove ExternalPojo Interface and ExternallyMarshallable
by Will Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-10456?page=com.atlassian.jira.plugin... ]
Will Burns updated ISPN-10456:
------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Remove ExternalPojo Interface and ExternallyMarshallable
> --------------------------------------------------------
>
> Key: ISPN-10456
> URL: https://issues.jboss.org/browse/ISPN-10456
> Project: Infinispan
> Issue Type: Sub-task
> Components: Core
> Affects Versions: 10.0.0.Beta4
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Beta5
>
>
> ExternallyMarshallable & ExternalPojo don't really make sense with the latest marshaller changes (ISPN-10354), as the Global & Persistence marshallers can only handle types they know about. Unknown types are always handled by the user marshaller and when JavaSerializationMarshaller is used (the default now) the user has to explicitly add classes to the white list.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 8 months