STARIONGROUP/COMET-WebServices-Community-Edition

Creation of Parameter and ParameterOverride at the same time fails if owner not specify

Opened this issue · 0 comments

Prerequisites

  • I have written a descriptive issue title
  • I have verified that I am running the latest version of the COMET Web Services
  • I have searched open and closed issues to ensure it has not already been reported

Description

Here is a PostOperation that intent to create Parameters and ParameterOverride at the same time (Guid are based on the default database used for Integration tests).
Adding the owner value on the ParameterOverride fix the PostOperation but the log should be more explicit

{
  "_create": [
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "ccd430e7-2200-4289-8eee-6b78838876a8",
      "parameterType": "4a783624-b2bc-4e6d-95b3-11d036f6e917",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "4b4d36db-21b3-4781-830e-4f56fafea401",
      "parameterType": "35a9cf05-4eba-4cda-b60c-7cfeaac8f892",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "07877cdf-060a-4256-bb37-b791fbbe240d",
      "parameterType": "33cf1171-3cd2-4494-8d54-639bfc583155",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "87d42051-eaa8-4c03-8dd6-4a8caa6d6544",
      "parameterType": "9c1d3e39-0754-4388-8e1e-070ca9a0e7b6",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "3bd5bbdd-6cb5-434d-a7a5-c2c25d128114",
      "parameterType": "74d9c38f-5ace-4f90-8841-d0f9942e9d09",
      "scale": "53e82aeb-c42c-475c-b6bf-a102af883471",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "2bd23d9d-009a-4f03-9262-f983bc0d0a87",
      "parameterType": "664d5611-c564-4eba-8f2e-e23b99385daf",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "d2ad2581-2157-4e0b-924e-150753f598b8",
      "parameterType": "e4cfdb60-ed3a-455c-9a33-a3edc921637f",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "Parameter",
      "iid": "ebd334f7-34f2-47e2-8738-a77f4f36ae51",
      "parameterType": "0d3178f9-68d0-4b1a-afe8-d5df0b66f1d4",
      "owner": "eb759723-14b9-49f4-8611-544d037bb764"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "5c54d7e5-ef0f-4277-9c29-26cf63cd0ecd",
      "parameter": "ccd430e7-2200-4289-8eee-6b78838876a8"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "600b674c-eda4-41e0-a634-cb4279d1d12d",
      "parameter": "4b4d36db-21b3-4781-830e-4f56fafea401"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "2dfa7d92-bd18-4332-ba10-f749665b74fd",
      "parameter": "07877cdf-060a-4256-bb37-b791fbbe240d"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "6de0be3e-2ded-489f-9065-ed7e44ebeca4",
      "parameter": "87d42051-eaa8-4c03-8dd6-4a8caa6d6544"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "a4a88b34-c6c9-4cbe-b2c5-534c7d0b4c27",
      "parameter": "3bd5bbdd-6cb5-434d-a7a5-c2c25d128114"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "b0b8cce9-6c9d-4c3d-b8f2-0bbcd4763671",
      "parameter": "2bd23d9d-009a-4f03-9262-f983bc0d0a87"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "3e9dd739-be80-429f-ad52-0dcfbe78dfae",
      "parameter": "d2ad2581-2157-4e0b-924e-150753f598b8"
    },
    {
      "revisionNumber": 1,
      "classKind": "ParameterOverride",
      "iid": "66239118-8ef9-46bc-9865-73a6373690d5",
      "parameter": "ebd334f7-34f2-47e2-8738-a77f4f36ae51"
    }
  ],
  "_update": [
    {
      "classKind": "ElementDefinition",
      "iid": "f73860b2-12f0-43e4-b8b2-c81862c0a159",
      "parameter": [
        "ccd430e7-2200-4289-8eee-6b78838876a8",
        "4b4d36db-21b3-4781-830e-4f56fafea401",
        "07877cdf-060a-4256-bb37-b791fbbe240d",
        "87d42051-eaa8-4c03-8dd6-4a8caa6d6544",
        "3bd5bbdd-6cb5-434d-a7a5-c2c25d128114",
        "2bd23d9d-009a-4f03-9262-f983bc0d0a87",
        "d2ad2581-2157-4e0b-924e-150753f598b8",
        "ebd334f7-34f2-47e2-8738-a77f4f36ae51"
      ]
    },
    {
      "classKind": "ElementUsage",
      "iid": "75399754-ee45-4bca-b033-63e2019870d1",
      "parameterOverride": [
        "5c54d7e5-ef0f-4277-9c29-26cf63cd0ecd",
        "600b674c-eda4-41e0-a634-cb4279d1d12d",
        "2dfa7d92-bd18-4332-ba10-f749665b74fd",
        "6de0be3e-2ded-489f-9065-ed7e44ebeca4",
        "a4a88b34-c6c9-4cbe-b2c5-534c7d0b4c27",
        "b0b8cce9-6c9d-4c3d-b8f2-0bbcd4763671",
        "3e9dd739-be80-429f-ad52-0dcfbe78dfae",
        "66239118-8ef9-46bc-9865-73a6373690d5"
      ]
    }
  ]
}

Processing this PostOperation produce following logs
HTTP POST /EngineeringModel/9ec982e4-ef72-4953-aa85-b158a95d8d56/iteration/e163c5ad-f32b-4387-b805-f4b34600bc2c responded 500 in 3301.8143 ms
System.InvalidOperationException: This NpgsqlTransaction has completed; it is no longer usable.
at Npgsql.ThrowHelper.ThrowInvalidOperationException(String message)
at Npgsql.NpgsqlTransaction.CheckReady()
at Npgsql.NpgsqlTransaction.Rollback(Boolean async, CancellationToken cancellationToken)
at CometServer.Modules.EngineeringModelApi.PostResponseData(HttpRequest httpRequest, HttpResponse httpResponse, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 994
at CometServer.Modules.EngineeringModelApi.PostResponseData(HttpRequest httpRequest, HttpResponse httpResponse, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 1016
at CometServer.Modules.EngineeringModelApi.b__6_1(HttpRequest req, HttpResponse res, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 213
at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
at CometServer.Authentication.BasicAuthenticatonMiddleware.Invoke(HttpContext context, IAuthenticationPersonAuthenticator authenticationPersonAuthenticator) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Authentication\BasicAuthMiddleware.cs:line 148
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
[16:46:05 ERR] An unhandled exception has occurred while executing the request.
System.InvalidOperationException: This NpgsqlTransaction has completed; it is no longer usable.
at Npgsql.ThrowHelper.ThrowInvalidOperationException(String message)
at Npgsql.NpgsqlTransaction.CheckReady()
at Npgsql.NpgsqlTransaction.Rollback(Boolean async, CancellationToken cancellationToken)
at CometServer.Modules.EngineeringModelApi.PostResponseData(HttpRequest httpRequest, HttpResponse httpResponse, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 994
at CometServer.Modules.EngineeringModelApi.PostResponseData(HttpRequest httpRequest, HttpResponse httpResponse, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 1016
at CometServer.Modules.EngineeringModelApi.b__6_1(HttpRequest req, HttpResponse res, IRequestUtils requestUtils, ICdp4TransactionManager transactionManager, ICredentialsService credentialsService, IHeaderInfoProvider headerInfoProvider, IServiceProvider serviceProvider, IMetaInfoProvider metaInfoProvider, IOperationProcessor operationProcessor, IFileBinaryService fileBinaryService, IRevisionService revisionService, ICdp4JsonSerializer jsonSerializer, IMessagePackSerializer messagePackSerializer, IPermissionInstanceFilterService permissionInstanceFilterService, IChangeLogService changeLogService) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Modules\10-25\EngineeringModelApi.cs:line 213
at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
at CometServer.Authentication.BasicAuthenticatonMiddleware.Invoke(HttpContext context, IAuthenticationPersonAuthenticator authenticationPersonAuthenticator) in C:\CODE\COMET\COMET-WebServices-Community-Edition\CometServer\Authentication\BasicAuthMiddleware.cs:line 148
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

Steps to Reproduce

System Configuration

  • COMET Web Services version:
    • CDP4Common:
    • PostrgreSQL:
    • Other:
  • Environment (Operating system, version and so on):
  • .NET Framework version:
  • Mono version:
  • Additional information: