[jira] [Created] (ISIS-2281) objectSpec expected to have EncodableFacet

2020-02-09 Thread Jira
Jörg Rade created ISIS-2281:
---

 Summary: objectSpec expected to have EncodableFacet
 Key: ISIS-2281
 URL: https://issues.apache.org/jira/browse/ISIS-2281
 Project: Isis
  Issue Type: Bug
Affects Versions: 2.0.0-M3
Reporter: Jörg Rade


URL: 
http://localhost:8080/restful/objects/demo.AsyncActionMenu/1/actions/asyncActions/invoke

{code}
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder.appendValueAndFormat(JsonValueEncoder.java:150)
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.ObjectPropertyReprRenderer.addValue(ObjectPropertyReprRenderer.java:117)
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.ObjectPropertyReprRenderer.render(ObjectPropertyReprRenderer.java:70)
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer.addProperties(DomainObjectReprRenderer.java:341)
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer.withMembers(DomainObjectReprRenderer.java:294)
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer.render(DomainObjectReprRenderer.java:193)
org.apache.isis.viewer.restfulobjects.rendering.Responses.ofOk(Responses.java:63)
org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceForRestfulObjectsV1_0.buildResponseTo(ContentNegotiationServiceForRestfulObjectsV1_0.java:108)
org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceForRestfulObjectsV1_0.buildResponse(ContentNegotiationServiceForRestfulObjectsV1_0.java:89)
org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceForRestfulObjectsV1_0.buildResponse(ContentNegotiationServiceForRestfulObjectsV1_0.java:222)
org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceContentNegotiator.lambda$actionResult$4(RepresentationServiceContentNegotiator.java:119)
org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceContentNegotiator.buildResponse(RepresentationServiceContentNegotiator.java:146)
org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceContentNegotiator.actionResult(RepresentationServiceContentNegotiator.java:118)
org.apache.isis.viewer.restfulobjects.viewer.resources.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:239)
org.apache.isis.viewer.restfulobjects.viewer.resources.DomainResourceHelper.invokeAction(DomainResourceHelper.java:209)
org.apache.isis.viewer.restfulobjects.viewer.resources.DomainObjectResourceServerside.invokeAction(DomainObjectResourceServerside.java:732)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:151)
org.jboss.resteasy.core.MethodInjectorImpl.lambda$invoke$3(MethodInjectorImpl.java:122)
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)
java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:110)
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:122)
org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:594)
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:468)
org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:421)
org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:363)
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:423)
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:391)
org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invoke$1(ResourceMethodInvoker.java:365)
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:110)
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:365)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:477)
org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:252)
org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:153)

[jira] [Created] (ISIS-2280) demoapp.dom.types.blob.BlobDemo Can't be Marshalled due to NPE

2020-02-09 Thread Jira
Jörg Rade created ISIS-2280:
---

 Summary: demoapp.dom.types.blob.BlobDemo Can't be Marshalled due 
to NPE
 Key: ISIS-2280
 URL: https://issues.apache.org/jira/browse/ISIS-2280
 Project: Isis
  Issue Type: Bug
Affects Versions: 2.0.0-M3
Reporter: Jörg Rade


URL: 
http://localhost:8080/restful/objects/demo.FeaturedTypesMenu/1/actions/blobs/invoke
{code:json}
{
  "httpStatusCode": 500,
  "message": "Error marshalling domain object to XML; domain object class is 
'demoapp.dom.types.blob.BlobDemo'",
  "detail": {
"className": "org.apache.isis.applib.NonRecoverableException",
"message": "Error marshalling domain object to XML; domain object class is 
'demoapp.dom.types.blob.BlobDemo'",
"element": [
  
"org.apache.isis.applib.services.jaxb.JaxbService$Simple.toXml(JaxbService.java:212)",
  
"org.apache.isis.applib.services.jaxb.JaxbService$Simple.toXml(JaxbService.java:157)",
  
"org.apache.isis.core.metamodel.facets.object.recreatable.RecreatableObjectFacetForXmlRootElementAnnotation.clone(RecreatableObjectFacetForXmlRootElementAnnotation.java:67)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.cloneIfViewModelElse(ActionInvocationFacetForDomainEventAbstract.java:300)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.cloneIfViewModelCloneable(ActionInvocationFacetForDomainEventAbstract.java:286)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.access$500(ActionInvocationFacetForDomainEventAbstract.java:74)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$DomainEventMemberExecutor.execute(ActionInvocationFacetForDomainEventAbstract.java:461)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$DomainEventMemberExecutor.execute(ActionInvocationFacetForDomainEventAbstract.java:413)",
  
"org.apache.isis.applib.services.iactn.Interaction.executeInternal(Interaction.java:175)",
  
"org.apache.isis.applib.services.iactn.Interaction.execute(Interaction.java:141)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.doInvoke(ActionInvocationFacetForDomainEventAbstract.java:204)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.lambda$invoke$0(ActionInvocationFacetForDomainEventAbstract.java:125)",
  
"org.apache.isis.core.runtimeservices.xactn.TransactionServiceSpring.executeWithinTransaction(TransactionServiceSpring.java:149)",
  
"org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:124)",
  
"org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeInternal(ObjectActionDefault.java:424)",
  
"org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.execute(ObjectActionDefault.java:410)",
  
"org.apache.isis.viewer.restfulobjects.viewer.resources.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:230)",
  
"org.apache.isis.viewer.restfulobjects.viewer.resources.DomainResourceHelper.invokeAction(DomainResourceHelper.java:209)",
  
"org.apache.isis.viewer.restfulobjects.viewer.resources.DomainObjectResourceServerside.invokeAction(DomainObjectResourceServerside.java:732)",
  "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
  
"sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)",
  
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
  "java.lang.reflect.Method.invoke(Method.java:498)",
  
"org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:151)",
  
"org.jboss.resteasy.core.MethodInjectorImpl.lambda$invoke$3(MethodInjectorImpl.java:122)",
  
"java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)",
  
"java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)",
  
"java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)",
  
"java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:110)",
  
"org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:122)",
  
"org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:594)",
  
"org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:468)",
  
"org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:421)",

[jira] [Commented] (ISIS-2158) Miscellaneous tasks in preparation of Version 2

2020-02-09 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ISIS-2158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17033380#comment-17033380
 ] 

ASF subversion and git services commented on ISIS-2158:
---

Commit 311603e9982331c70ec0833ebc53fd1cc19e8883 in isis's branch 
refs/heads/master from Andi Huber
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=311603e ]

ISIS-2158: bump Wicket and Wicketstuff 8.6.1 -> 8.7.0

> Miscellaneous tasks in preparation of Version 2
> ---
>
> Key: ISIS-2158
> URL: https://issues.apache.org/jira/browse/ISIS-2158
> Project: Isis
>  Issue Type: Task
>Reporter: Andi Huber
>Assignee: Andi Huber
>Priority: Major
> Fix For: 2.0.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ISIS-2158) Miscellaneous tasks in preparation of Version 2

2020-02-09 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ISIS-2158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17033281#comment-17033281
 ] 

ASF subversion and git services commented on ISIS-2158:
---

Commit 2a4747176d5d03956049031efd5e233c2e0a530c in isis's branch 
refs/heads/master from Andi Huber
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=2a47471 ]

ISIS-2158: fix column sorting for good (2)


> Miscellaneous tasks in preparation of Version 2
> ---
>
> Key: ISIS-2158
> URL: https://issues.apache.org/jira/browse/ISIS-2158
> Project: Isis
>  Issue Type: Task
>Reporter: Andi Huber
>Assignee: Andi Huber
>Priority: Major
> Fix For: 2.0.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ISIS-2158) Miscellaneous tasks in preparation of Version 2

2020-02-09 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ISIS-2158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17033278#comment-17033278
 ] 

ASF subversion and git services commented on ISIS-2158:
---

Commit 5831a7dfc80081592f1f80550f4fc5b8d963d609 in isis's branch 
refs/heads/master from Andi Huber
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=5831a7d ]

ISIS-2158: fix column sorting for good

- even when column objects are not comparable, we need to honor equals
- mitigates java.lang.IllegalArgumentException: Comparison method
violates its general contract!

> Miscellaneous tasks in preparation of Version 2
> ---
>
> Key: ISIS-2158
> URL: https://issues.apache.org/jira/browse/ISIS-2158
> Project: Isis
>  Issue Type: Task
>Reporter: Andi Huber
>Assignee: Andi Huber
>Priority: Major
> Fix For: 2.0.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ISIS-2279) Make caching optional in InjectorMethodEvaluatorDefault to avoid large heap usage

2020-02-09 Thread Daniel Keir Haywood (Jira)
Daniel Keir Haywood created ISIS-2279:
-

 Summary: Make caching optional in InjectorMethodEvaluatorDefault 
to avoid large heap usage 
 Key: ISIS-2279
 URL: https://issues.apache.org/jira/browse/ISIS-2279
 Project: Isis
  Issue Type: Improvement
Reporter: Daniel Keir Haywood
Assignee: Daniel Keir Haywood
 Fix For: 1.18.0


Observed this growing to ~400Mb in size.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ISIS-2278) Reinstate background commands for entities, incorporate fix ISIS-2277 from v1

2020-02-09 Thread Daniel Keir Haywood (Jira)
Daniel Keir Haywood created ISIS-2278:
-

 Summary: Reinstate background commands for entities, incorporate 
fix ISIS-2277 from v1
 Key: ISIS-2278
 URL: https://issues.apache.org/jira/browse/ISIS-2278
 Project: Isis
  Issue Type: Improvement
Reporter: Daniel Keir Haywood
Assignee: Daniel Keir Haywood
 Fix For: 2.0.0






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ISIS-2277) To avoid memory starvation, each background commands should run in its own session.

2020-02-09 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ISIS-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17033198#comment-17033198
 ] 

ASF subversion and git services commented on ISIS-2277:
---

Commit 9885ff174b4b714a7eb81cb12f039b7987d60e03 in isis's branch refs/heads/v1 
from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=9885ff1 ]

ISIS-2277: fixes http://repo1.maven.org to https://


> To avoid memory starvation, each background commands should run in its own 
> session.
> ---
>
> Key: ISIS-2277
> URL: https://issues.apache.org/jira/browse/ISIS-2277
> Project: Isis
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Daniel Keir Haywood
>Assignee: Daniel Keir Haywood
>Priority: Critical
> Fix For: 1.18.0
>
>
> The current behaviour (at least, as exploited by the Incode Platform's 
> command service implementation) is:
>  * a bunch of commands might be queued up to run in the background say 3000 
> of them
>  * every 10 seconds, quartz schedules to execute the 
> RunBackgroundCommandsWithReplicationAndReplayJob.
>  ** nb: this is annotated with @DisallowConcurrentExecution and 
> @PersistJobDataAfterExecution ... so quartz won't run another instance until 
> this one has completed.
>  * this delegates to BackgroundCommandExecutionFromBackgroundCommandServiceJdo
>  * this in turn finds the 3000 commands
>  * in the superclass, BackgroundCommandExecution#doExecute(). these commands 
> are processed one by one, each in their own transaction
>  * HOWEVER, there is only one session for all of this work, meaning that the 
> size of that session can result in memory starvation (both DataNucleus and 
> Isis hold hashes of all objects that have been modified).
> The fix is to create a new session for each command, rather than just a 
> single session.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ISIS-2277) To avoid memory starvation, each background commands should run in its own session.

2020-02-09 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ISIS-2277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17033195#comment-17033195
 ] 

ASF subversion and git services commented on ISIS-2277:
---

Commit e67c3b0aedbc7f07ef9629b0fbd81bd44ba5c8ad in isis's branch refs/heads/v1 
from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=e67c3b0 ]

ISIS-2277: reworks BackgroundCommandExecution so that each command runs in its 
own session.

We convert all commands into bookmarks as the means to pass from one session to 
another


> To avoid memory starvation, each background commands should run in its own 
> session.
> ---
>
> Key: ISIS-2277
> URL: https://issues.apache.org/jira/browse/ISIS-2277
> Project: Isis
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Daniel Keir Haywood
>Assignee: Daniel Keir Haywood
>Priority: Critical
> Fix For: 1.18.0
>
>
> The current behaviour (at least, as exploited by the Incode Platform's 
> command service implementation) is:
>  * a bunch of commands might be queued up to run in the background say 3000 
> of them
>  * every 10 seconds, quartz schedules to execute the 
> RunBackgroundCommandsWithReplicationAndReplayJob.
>  ** nb: this is annotated with @DisallowConcurrentExecution and 
> @PersistJobDataAfterExecution ... so quartz won't run another instance until 
> this one has completed.
>  * this delegates to BackgroundCommandExecutionFromBackgroundCommandServiceJdo
>  * this in turn finds the 3000 commands
>  * in the superclass, BackgroundCommandExecution#doExecute(). these commands 
> are processed one by one, each in their own transaction
>  * HOWEVER, there is only one session for all of this work, meaning that the 
> size of that session can result in memory starvation (both DataNucleus and 
> Isis hold hashes of all objects that have been modified).
> The fix is to create a new session for each command, rather than just a 
> single session.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ISIS-2277) To avoid memory starvation, each background commands should run in its own session.

2020-02-09 Thread Daniel Keir Haywood (Jira)
Daniel Keir Haywood created ISIS-2277:
-

 Summary: To avoid memory starvation, each background commands 
should run in its own session.
 Key: ISIS-2277
 URL: https://issues.apache.org/jira/browse/ISIS-2277
 Project: Isis
  Issue Type: Improvement
Affects Versions: 1.17.0
Reporter: Daniel Keir Haywood
Assignee: Daniel Keir Haywood
 Fix For: 1.18.0


The current behaviour (at least, as exploited by the Incode Platform's command 
service implementation) is:
 * a bunch of commands might be queued up to run in the background say 3000 of 
them
 * every 10 seconds, quartz schedules to execute the 
RunBackgroundCommandsWithReplicationAndReplayJob.
 ** nb: this is annotated with @DisallowConcurrentExecution and 
@PersistJobDataAfterExecution ... so quartz won't run another instance until 
this one has completed.
 * this delegates to BackgroundCommandExecutionFromBackgroundCommandServiceJdo
 * this in turn finds the 3000 commands
 * in the superclass, BackgroundCommandExecution#doExecute(). these commands 
are processed one by one, each in their own transaction
 * HOWEVER, there is only one session for all of this work, meaning that the 
size of that session can result in memory starvation (both DataNucleus and Isis 
hold hashes of all objects that have been modified).

The fix is to create a new session for each command, rather than just a single 
session.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)