Fallback doesn't work in case of RabbitMQ connection failure

Report
If KEDA failed to connect to RabbitMQ, we expected fallback to work and for KEDA to scale the deployment to the number of pods defined in .spec.fallback.replicas, but it didn't.
Expected Behavior
I'd expect the deployment to be scaled to the number of pods defined in .spec.fallback.replicas
Actual Behavior
The number of pods was not scaled.
Steps to Reproduce the Problem

Set up ScaledObject for RabbitMQ trigger with fallback configuration
Update RabbitMQ user's password on RabbitMQ Server to make connection failure
Restart keda-operator deployment to refresh the connection

This is ScaledObject spec.
spec:
  minReplicaCount: 1
  maxReplicaCount: 3
  fallback:
    failureThreshold: 3
    replicas: 2
  scaleTargetRef:
    name: nginx
  triggers:
  - type: rabbitmq
    metadata:
      host: amqp://{user}:{pass}@{host}:{port}/
      protocol: amqp
      queueName: hello
      mode: QueueLength
      value: "1"

It worked as expected after Step 1.
❯ k get so
NAME                    SCALETARGETKIND      SCALETARGETNAME   MIN   MAX   TRIGGERS   AUTHENTICATION   READY   ACTIVE   FALLBACK   PAUSED    AGE
rabbitmq-scaledobject   apps/v1.Deployment   nginx             1     3     rabbitmq                    True    True     False      Unknown   2m23s

❯ k get hpa
NAME                             REFERENCE          TARGETS     MINPODS   MAXPODS   REPLICAS   AGE
keda-hpa-rabbitmq-scaledobject   Deployment/nginx   1/1 (avg)   1         3         1          2m27s

After Step 3, we can see connection error on Kubernetes event for ScaledObject, but "Number Of Failures" remains 0 and fallback didn't work (= it didn't scale the deployment to 2 pods.)
❯ k rollout restart deploy -n keda keda-operator
deployment.apps/keda-operator restarted

❯ k describe so
:
Spec:
  Fallback:
    Failure Threshold:  3
    Replicas:           2
  Max Replica Count:    3
  Min Replica Count:    1
Status:
  Conditions:
    Message:  failed to ensure HPA is correctly created for ScaledObject
    Reason:   ScaledObjectCheckFailed
    Status:   False
    Type:     Ready
    Message:  ScaledObject check failed
    Reason:   UnknownState
    Status:   Unknown
    Type:     Active
    Message:  No fallbacks are active on this scaled object
    Reason:   NoFallbackFound
    Status:   False
    Type:     Fallback
    Status:   Unknown
    Type:     Paused
  Health:
    s0-rabbitmq-hello:
      Number Of Failures:  0
      Status:              Happy
:
Events:
  Type     Reason                   Age                    From           Message
  ----     ------                   ----                   ----           -------
  Normal   KEDAScalersStarted       6m56s                  keda-operator  Started scalers watch
  Normal   ScaledObjectReady        6m56s                  keda-operator  ScaledObject is ready for scaling
  Normal   KEDAScalersStarted       4m38s (x7 over 6m56s)  keda-operator  Scaler rabbitmq is built.
  Warning  ScaledObjectCheckFailed  2s (x4 over 12s)       keda-operator  failed to ensure HPA is correctly created for ScaledObject
  Warning  KEDAScalerFailed         1s (x6 over 12s)       keda-operator  error establishing rabbitmq connection: Exception (403) Reason: "username or password not allowed"

❯ k get hpa
NAME                             REFERENCE          TARGETS     MINPODS   MAXPODS   REPLICAS   AGE
keda-hpa-rabbitmq-scaledobject   Deployment/nginx   1/1 (avg)   1         3         1          7m23s

Logs from KEDA operator
2024-02-21T07:17:10Z	ERROR	Error getting scalers	{"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "ScaledObject": {"name":"rabbitmq-scaledobject","namespace":"default"}, "namespace": "default", "name": "rabbitmq-scaledobject", "reconcileID": "e47e4e27-ab59-4700-b2b4-9edbb94dee7d", "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).getScaledObjectMetricSpecs
	/workspace/controllers/keda/hpa.go:219
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).newHPAForScaledObject
	/workspace/controllers/keda/hpa.go:72
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).updateHPAIfNeeded
	/workspace/controllers/keda/hpa.go:150
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).ensureHPAForScaledObjectExists
	/workspace/controllers/keda/scaledobject_controller.go:464
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).reconcileScaledObject
	/workspace/controllers/keda/scaledobject_controller.go:280
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).Reconcile
	/workspace/controllers/keda/scaledobject_controller.go:191
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227
2024-02-21T07:17:10Z	ERROR	Failed to create new HPA resource	{"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "ScaledObject": {"name":"rabbitmq-scaledobject","namespace":"default"}, "namespace": "default", "name": "rabbitmq-scaledobject", "reconcileID": "e47e4e27-ab59-4700-b2b4-9edbb94dee7d", "HPA.Namespace": "default", "HPA.Name": "keda-hpa-rabbitmq-scaledobject", "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).updateHPAIfNeeded
	/workspace/controllers/keda/hpa.go:152
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).ensureHPAForScaledObjectExists
	/workspace/controllers/keda/scaledobject_controller.go:464
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).reconcileScaledObject
	/workspace/controllers/keda/scaledobject_controller.go:280
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).Reconcile
	/workspace/controllers/keda/scaledobject_controller.go:191
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227
2024-02-21T07:17:10Z	ERROR	failed to check HPA for possible update	{"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "ScaledObject": {"name":"rabbitmq-scaledobject","namespace":"default"}, "namespace": "default", "name": "rabbitmq-scaledobject", "reconcileID": "e47e4e27-ab59-4700-b2b4-9edbb94dee7d", "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).ensureHPAForScaledObjectExists
	/workspace/controllers/keda/scaledobject_controller.go:466
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).reconcileScaledObject
	/workspace/controllers/keda/scaledobject_controller.go:280
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).Reconcile
	/workspace/controllers/keda/scaledobject_controller.go:191
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227
2024-02-21T07:17:10Z	ERROR	failed to ensure HPA is correctly created for ScaledObject	{"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "ScaledObject": {"name":"rabbitmq-scaledobject","namespace":"default"}, "namespace": "default", "name": "rabbitmq-scaledobject", "reconcileID": "e47e4e27-ab59-4700-b2b4-9edbb94dee7d", "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
github.com/kedacore/keda/v2/controllers/keda.(*ScaledObjectReconciler).Reconcile
	/workspace/controllers/keda/scaledobject_controller.go:193
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227
2024-02-21T07:17:10Z	ERROR	Reconciler error	{"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "ScaledObject": {"name":"rabbitmq-scaledobject","namespace":"default"}, "namespace": "default", "name": "rabbitmq-scaledobject", "reconcileID": "e47e4e27-ab59-4700-b2b4-9edbb94dee7d", "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:329
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227
2024-02-21T07:17:23Z	ERROR	scale_handler	error resolving auth params	{"type": "ScaledObject", "namespace": "default", "name": "rabbitmq-scaledobject", "triggerIndex": 0, "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).buildScalers
	/workspace/pkg/scaling/scalers_builder.go:99
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).performGetScalersCache
	/workspace/pkg/scaling/scale_handler.go:357
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).getScalersCacheForScaledObject
	/workspace/pkg/scaling/scale_handler.go:290
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).GetScaledObjectMetrics
	/workspace/pkg/scaling/scale_handler.go:429
github.com/kedacore/keda/v2/pkg/metricsservice.(*GrpcServer).GetMetrics
	/workspace/pkg/metricsservice/server.go:47
github.com/kedacore/keda/v2/pkg/metricsservice/api._MetricsService_GetMetrics_Handler
	/workspace/pkg/metricsservice/api/metrics_grpc.pb.go:99
google.golang.org/grpc.(*Server).processUnaryRPC
	/workspace/vendor/google.golang.org/grpc/server.go:1372
google.golang.org/grpc.(*Server).handleStream
	/workspace/vendor/google.golang.org/grpc/server.go:1783
google.golang.org/grpc.(*Server).serveStreams.func2.1
	/workspace/vendor/google.golang.org/grpc/server.go:1016

KEDA Version
2.13.0
Kubernetes Version
1.27
Platform
Other
Scaler Details
RabbitMQ Queue
Anything else?
No response

Hello
Could you confirm what KEDA version you're using? I'm trying to reproduce the issue with v2.13 and I can't:
2024-02-23T21:30:46Z	INFO	scaleexecutor	Successfully set ScaleTarget replicas count to ScaledObject fallback.replicas	{"scaledobject.Name": "rabbitmq-consumer", "scaledObject.Namespace": "default", "scaleTarget.Name": "rabbitmq-consumer", "Original Replicas Count": 1, "New Replicas Count": 2}
2024-02-23T21:30:51Z	ERROR	scale_handler	error resolving auth params	{"type": "ScaledObject", "namespace": "default", "name": "rabbitmq-consumer", "triggerIndex": 0, "error": "error establishing rabbitmq connection: Exception (403) Reason: \"username or password not allowed\""}

Basically, after changing the user, the connection is closed and the fallback modifies the replica count

the logs you sent are basically 2 (based on the timestamp), so it's normal that having the threshold set on 3 the fallback hasn't been triggered

Hi, I used v2.13 as described in the description of this issue.

Basically, after changing the user, the connection is closed and the fallback modifies the replica count

This could be the difference from my environment.

so it's normal that having the threshold set on 3 the fallback hasn't been triggered

Even after waiting several minutes, the status was the same, which means that "Number Of Failures" remained 0 and fallback didn't work.

As mentioned on RabbitMQ doc,

RabbitMQ may cache the results of access control checks on a per-connection or per-channel basis. Hence changes to user permissions may only take effect when the user reconnects.

the existing connection was kept and working properly even after updating RabbitMQ user's password on RabbitMQ Admin UI. So I needed to rollout keda-operator deployment to refresh the connection.
I was running a simple rabbitmq container without a special configuration to check the behavior.
kubectl run rabbitmq --image=rabbitmq:management

I'm not so familiar with RabbitMQ yet, but do you think there is any RabbitMQ configuration that makes this difference in the behavior?

I'm not so familiar with RabbitMQ yet

Me neither, sorry :(
Tomorrow I'll try again restarting KEDA as you described in the reproduction path:
1. Set up ScaledObject for RabbitMQ trigger with fallback configuration
2. Update RabbitMQ user's password on RabbitMQ Server to make connection failure
3. Restart keda-operator deployment to refresh the connection

It's true that I didn't restart KEDA and maybe the difference could be there

Hi @JorTurFer , is there any update on this?
I can provide more info if you need it, so please let me know in that case.

Hi @JorTurFer , is there any update on this?

Sorry, I tested the scenario but I didn't answer 🤦
You are right and errors during init doesn't trigger the fallback. I don't remember if we didn't count these errors intentionally or if it's a mistake. @zroubalik ?

Hi @JorTurFer and @zroubalik, I found a similar issue on Kafka Scaler (v2.13.0) as well.
So this could be not RabbitMQ scaler-specific issue.
I expected fallback works with these steps for Kafka scaler, but it didn't (the same situation described in this issue).

Set up ScaledObject for Kafka trigger with fallback configuration
(After HPA begins to work normally) Delete Kafka cluster to make connection failure

I think that this is a corner case we didn't expect. Normally, if user is about to create ScaledObject with incorrect information - it won't proceed (won't create a scale loop) and it fails as expected.  If there's a failure during the operation of KEDA, the fallback should happen (we are already in the scale loop context).
But in your certain usecase when you restarted KEDA operator during the failure, I think that we end up in a situation when KEDA operator is trying to start reconcile on a new ScaleObject (and start a new scale loop) so it doesn't have a chance to actually go into fallback (because internally we haven't started a scale loop).

so, should we cover it?

yes

We should probably check the status of ScaledObject - if it has been set to fallback, we should probably proceed and create the connection.

Thank you so much for this amazing product
I just came along to say we are having the same issue. 👍
It would be awesome to have this feature working.
What is the estimation to fix it?
thanks!

@marandalucas unfortunately at the moment there's nobody assigned to work on this, are you up for contributing this?


[UAT]: Change in 'Court fee per summon'

Describe the bug
As per latest UAT feedback, the Court Fee per summon need not be taken from the user. Only Issuance fee needs to be taken. Two tasks need to be done

[x] Change Court Fee per summon to 0 (from Rs 10) - For notices, summons, warrants - To be taken up at priority @prasanna2400

[ ] Remove Court Fee per summon field altogether. Only issuance fee needs to be collected - Low priority- to be taken up in later versions

Payment Calculator HLD

Hi @devarajd94  this will be taken in next sprint

@Ramu-kandimalla as i understand the issue 1 is a very low effort change of changing MDMS value from 10 to 0. If more effort is required then please move it to next sprint. @prasanna2400 please confirm if there is additional effort required.

@Ramu-kandimalla  mdms data change is required, @devarajd94  made changes in uat please verify

Since we dont have clarity for point 2 @devarajd94  asked move this to Backlog

Hi @devarajd94  Please verify


prevent screen number exhaustion

In current master, the screen number can only grow if multiple screens are opened and new one are created before the old ones are closed.
The solution is not quite elegant, but I guess it's worth mentioning.

closing as superseded.
this is now fixed by #17 and has been merged to master.


Exception thrown when hosting ASP.NET Core MVC application in lambda using Amazon.Lambda.AspNetCoreServer

I have a ASP.NET Core MVC application hosted inside of the lambda using the Amazon.Lambda.AspNetCoreServer
When I try to initialise the X-Ray I have the following exception when the app is starting up inside the lambda
Unhandled Exception: System.AggregateException: One or more errors occurred. (Unable to cast object of type 'Amazon.XRay.Recorder.Core.Internal.Entities.FacadeSegment' to type 'Amazon.XRay.Recorder.Core.Internal.Entities.Subsegment'.) ---> System.InvalidCastException: Unable to cast object of type 'Amazon.XRay.Recorder.Core.Internal.Entities.FacadeSegment' to type 'Amazon.XRay.Recorder.Core.Internal.Entities.Subsegment'.
  at Amazon.XRay.Recorder.Core.AWSXRayRecorder.ProcessSubsegmentInLambdaContext(String name)
  at Amazon.XRay.Recorder.Core.AWSXRayRecorder.BeginSubsegment(String name)
  at Amazon.XRay.Recorder.Handlers.AwsSdk.Internal.XRayPipelineHandler.ProcessBeginRequest(IExecutionContext executionContext)
  at Amazon.XRay.Recorder.Handlers.AwsSdk.Internal.XRayPipelineHandler.<InvokeAsync>d__27`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at Amazon.Runtime.Internal.ErrorCallbackHandler.<InvokeAsync>d__5`1.MoveNext() in E:\JenkinsWorkspaces\v3-trebuchet-release\AWSDotNetPublic\sdk\src\Core\Amazon.Runtime\Pipeline\Handlers\ErrorCallbackHandler.cs:line 58

The exception seems to originate from the following method, where there is an assumption that if there and entity it for sure is a subsegment in lambda...
private void ProcessSubsegmentInLambdaContext(string name)
    {
        if (!TraceContext.IsEntityPresent()) //No facade segment available and first subsegment of a subsegment branch needs to be added
        {
            AddFacadeSegment(name);
            AddSubsegmentInLambdaContext(new Subsegment(name));
        }
        else //continuation of subsegment branch
        {
            var parentSubsegment = (Subsegment)TraceContext.GetEntity();
            var environmentRootTraceId = TraceHeader.FromString(GetTraceVariablesFromEnvironment()).RootTraceId;
            if ((null != environmentRootTraceId) && !environmentRootTraceId.Equals(parentSubsegment.RootSegment.TraceId)) //If true, customer has leaked subsegments across invocation
            {
                TraceContext.ClearEntity(); //reset TraceContext
                BeginSubsegment(name); //This adds Facade segment with updated environment variables
            }
            else
            {
                AddSubsegmentInLambdaContext(new Subsegment(name));
            }

        }
    }

however in my case it is simply not because this method gets called earlier
    private void BeforeRequestEventHandler(object sender, RequestEventArgs e)
    {
        var args = e as WebServiceRequestEventArgs;
        if (args == null)
        {
            _logger.DebugFormat("Failed to handle BeforeRequestEvent, because e can't be converted to WebServiceRequestEventArgs.");
            return;
        }

        if (TraceHeader.TryParse(TraceContext.GetEntity(), out TraceHeader traceHeader))
        {
            args.Headers[TraceHeader.HeaderKey] = traceHeader.ToString();
        }
        else
        {
            _logger.DebugFormat("Failed to inject trace header to AWS SDK request as the segment can't be converted to TraceHeader.");
        }
        _recorder.BeginSubsegment(RemoveAmazonPrefixFromServiceName(args.ServiceName));
        _recorder.SetNamespace("aws");
    }

and the call to TraceContext.GetEntity() in case of running in lambda initialises the entity to FacadeSegment
Can you let me know if I am maybe using these tools incorrectly or is it some sort of a bug?

Hi @rnowosielski ,
Thank you for posting this issue.
From the error stack trace, I see that XRayPipelineHandler is invoked. This is a wrapper around your AWS SDK request (for eg: Dynamo db operations). I wonder how this BeforeRequestEventHandler() method is called since its a part of AWSSdkTracingHandler  class and is deprecated. Can you please confirm the location of your error.
Also please let me know how you have configured your app with X-Ray.

Have you configured your ASP.NET Core app with X-Ray using this way: ASP.NET Core

The sequence of call being made , is it the following :
[Deploying app to AWS Lambda] -> [Starting ASP.NET Core app] -> [Making AWS SDK Call]
A sequence diagram may be helpful.

Are you creating any custom segment/subsegment within the app ?

Please let us know, this will help to understand your scenario.
Thanks,
Yogi

I followed the steps for .NET Core to configure my app. So I do have a app.UseXRay("Segment name"); in the Configure method, and then in the constructor of the Startup I placed
AWSXRayRecorder.InitializeInstance(Configuration) ;
AWSSDKHandler.RegisterXRayForAllServices();

The peculiar thing is that I do have KMS calls in the ConfigurServices method that is decrypting the connection string for my database, so if I understand that correctly, the KMS calls will be reported at the very startup of the app even before any incoming request gets processed.
My work around for this problem was to surround the content of ConfigureServices method with additional subsegment and that fixed it for me, but I thought it would be useful to fix this scenario for others who might run into similar situations.

HI,
I'm getting a similar issue. In my case, I have a Lambda function running NetCore 2.0 and APIGateway. I'm starting the X-Ray in the handler
AWSSDKHandler.RegisterXRayForAllServices();
One or more errors occurred. (Unhandled exception): AggregateException at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)
at lambda_method(Closure , Stream , Stream , LambdaContextInternal )
at Ansarada.Integrations.FileStore.Handlers.APIGateway.ApiHandler.ErrorHandler(Exception ex) in /ansarada/functions/services-api/src/dotnet/Ansarada.Integrations.FileStore.Handlers/APIGateway/ApiHandler.cs:line 23
at Lambda.SDK.Core.Handlers.APIGatewayHandler1.<ConcreteProcessAsync>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Lambda.SDK.Core.Handlers.BaseHandler3.d__2.MoveNext()
Unable to cast object of type 'Amazon.XRay.Recorder.Core.Internal.Entities.FacadeSegment' to type 'Amazon.XRay.Recorder.Core.Internal.Entities.Subsegment'.: InvalidCastException
at Amazon.XRay.Recorder.Core.AWSXRayRecorder.ProcessSubsegmentInLambdaContext(String name)
at Amazon.XRay.Recorder.Core.AWSXRayRecorder.BeginSubsegment(String name)
at Amazon.XRay.Recorder.Handlers.AwsSdk.Internal.XRayPipelineHandler.ProcessBeginRequest(IExecutionContext executionContext)
at Amazon.XRay.Recorder.Handlers.AwsSdk.Internal.XRayPipelineHandler.InvokeSync(IExecutionContext executionContext)
at Amazon.Runtime.Internal.CallbackHandler.InvokeSync(IExecutionContext executionContext)
at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeSync(IExecutionContext executionContext)
at Amazon.Runtime.Internal.MetricsHandler.InvokeSync(IExecutionContext executionContext)
at Amazon.Runtime.Internal.RuntimePipeline.InvokeSync(IExecutionContext executionContext)
at Amazon.Runtime.AmazonServiceClient.Invoke[TRequest,TResponse](TRequest request, IMarshaller2 marshaller, ResponseUnmarshaller unmarshaller) at Amazon.DynamoDBv2.DocumentModel.Table.DescribeTable(String tableName) at Amazon.Runtime.Internal.Util.Cache2.GetValueHelper(TKey key, Boolean& isStaleItem, Func2 creator) at Amazon.DynamoDBv2.DocumentModel.Table.LoadTableInfo() at Amazon.DynamoDBv2.DataModel.DynamoDBContext.GetUnconfiguredTable(String tableName) at Amazon.DynamoDBv2.DataModel.DynamoDBContext.GetTargetTable(ItemStorageConfig storageConfig, DynamoDBFlatConfig flatConfig, DynamoDBConsumer consumer) at Amazon.DynamoDBv2.DataModel.DynamoDBContext.LoadHelper[T](Key key, DynamoDBFlatConfig flatConfig, ItemStorageConfig storageConfig, Boolean isAsync) at Amazon.Runtime.Internal.AsyncRunner.<>c__DisplayClass1_21.b__1()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Amazon.Runtime.Internal.AsyncRunner.<>c__DisplayClass1_01.<<Run>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Lambda.SDK.Core.AWS.DynamoDB.DynamoDBWrapper.<LoadAsync>d__91.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Ansarada.Integrations.FileStore.Business.Core.FileStoreBusiness.d__10.MoveNext() in /ansarada/functions/services-api/src/dotnet/Ansarada.Integrations.FileStore.Business/Core/FileStoreBusiness.cs:line 136
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Ansarada.Integrations.FileStore.Handlers.APIGateway.Controllers.FileStoreController.d__6.MoveNext() in /ansarada/functions/services-api/src/dotnet/Ansarada.Integrations.FileStore.Handlers/APIGateway/Controllers/FileStoreController.cs:line 70
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Lambda.SDK.Core.Handlers.Controllers.ControllerRunner.d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Lambda.SDK.Core.Handlers.APIGatewayHandler1.d__0.MoveNext()`

Hi @rnowosielski , @AbbTek ,
Thank you for reporting this bug. We appreciate your efforts and are currently working on fix. We would soon update you.
Thanks,
Yogi

Hi @rnowosielski , @AbbTek ,
We have fixed this bug in release : 2.0.1-beta. Please feel free to explore new version. Let us know if you have questions.
Thanks,
Yogi

Hi @yogiraj07 I tested it, and now it works perfectly, thanks it is really cool


Why does it have trouble with small fonts?

Hi there, this is a really good text detector. However, why does it have trouble with small font size?
For example, in this image some characters are missed.
Are there any tuning parameters I can change to help it along?

Hi Phil, here are the params I used in Robust Text Detection:
param.minMSERArea        = 10;
param.maxMSERArea        = 400;
param.cannyThresh1       = 30;
param.cannyThresh2       = 100;

param.maxConnCompCount   = 3000;
param.minConnCompArea    = 35;
param.maxConnCompArea    = 300;

param.minEccentricity    = 0.4;
param.maxEccentricity    = 0.995;
param.minSolidity        = 0.2;
param.maxStdDevMeanRatio = 0.5;

For smaller text, you need to tweak almost every parameters above, but I'd say, getting a larger image with larger text might be a better decision.
Sadly when the text is too small, then it's hard to see the difference between the boundaries of each letter, or the 'hole' of certain letters. Text detection is still similar to how our brain trying to process text, we still need to distinguish between text and the background, we still need to squint when the text is too small.

why i can not change TestText.png to another picture,when i change picture ，it throw out a error，like this


on board accessibility for dashboard V1

SQL Operations Studio Version:

Steps to Reproduce:

This is happening through email, so don't need to track here.


Detected I/O inside the event loop: line 174,372,219

Logger: homeassistant.util.async_
Source: util/async_.py:120
First occurred: 16:47:36 (8 occurrences)
Last logged: 16:51:42
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for sonoff doing I/O at custom_components/sonoff/init.py, line 174: headers=self._headers, json=app_details)
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for sonoff doing I/O at custom_components/sonoff/init.py, line 372: ), headers=self._headers)
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for sonoff doing I/O at custom_components/sonoff/init.py, line 219: r = requests.post('https://%s-disp.coolkit.cc:8080/dispatch/app' % self._api_region, headers=self._headers)

custom_components/sonoff/init.py


PushMessageSenderService#sendPushMessage gets stuck if not db connection pool is exhausted

If multiple concurrent /push/message/send requests come the request threads may get stuck waiting at phaser.arriveAndAwaitAdvance() depending on db connection pool size and number of concurrent requests
Example: datasource pool maxActive=3, 4 concurrent requests. Each request thread gets db connection from pool when reading device registrations. Then PushMessageSenderService#sendPushMessage is called which starts async threads for sending one notification. When notification is sent callback is called and during the callback there is another db connection fetch because of push status saving:
pushMessageDAO.save(pushMessageObject);
Because this is running still in async thread (from the request thread) the JPA tries to fetch another connection from pool. This fails after 30s (maxWaitTime).
But there is no try/catch/finaly in the callback code. Therefore the phaser.arriveAndDeregister(); is never called and the request thread is stuck forever along with db connection.
There should be better exception handling regarding phaser callbacks. Also some recommendation about db connection pool size vs request thread pool size - one request eats two db connections => there should be minimum 2x more db connections in pool then max number of  http request handler threads.

We have already made some improvements here, they are waiting for code review by @romanstrobl, you can add yours if needed:
lime-company/powerauth-push-server#94
Newly, we:

Do cleanup in finally
Log the issue as severe.


Error: Unexpected "<!DOCTYPE" on line 1 when trying to open a resource from Search

(this might be same as #1644 but opening new ticket to avoid confusion. #1644 seemed to be solved by logging out and back in; not in this case)
2 users report getting the error "Unexpected "<!DOCTYPE" on line 1." when trying to open a resource from Search
example 1 in stage reported around 8 am this morning:
Search by URI for https://trellis.stage.sinopia.io/repository/frick/fdd86091-3a2d-4268-921f-70c690934f27
Try to open the result
Error: Unexpected "<!DOCTYPE" on line 1.
User is able to open other records. User did not try logging out and back in yet.
example 2 in stage reported around 4 pm today:
I just created a work, instance and item records for a resource and saved them in Sinopia Stage. When I search for them, I can open the instance and the item no problem, but I get the "Error: Unexpected "<!DOCTYPE" on line 1." [when opening the Work]

to see the results search Doomes and open the Work, or search by URI:
https://trellis.stage.sinopia.io/repository/hrc/4ff66d88-2883-4939-976d-9b8034b02ca1
however when I try to open that URI, I get a different error:

Error getting ld4p:RT:bf2:Monograph:Contribution:Basic ...

Can the user try to reproduce in a private (incognito) window?

asked her to. will update with results here.

Frick catalogers tried with private window in Firefox and opened record successfully. Reported that originally they were using Chrome.

HRC also was using Chrome. Firefox works fine.


validation triggered too late

attrs 18.2.0
python 3.6.7
I'm not sure, is it bug or expected behavior, but steps to reproduce:
import attr

def validate_x(_, __, value):
    if value not in ["a", "b", ]:
        raise ValueError(f"Unknown type: {value}")

@attr.s(auto_attribs=True)
class A:
    name: str = attr.ib(validator=validate_x)
    map: dict = {
        "x": 1,
        "y": 2,
    }
    detector: str = attr.ib()

    @detector.default
    def init_detector(self):
        return self.map[self.name]

a = A('c')

Expected(by me):
Traceback (most recent call last):
  File "/home/mirror/tst.py", line 23, in <module>
    a = A('c')
  File "<attrs generated init 090efc2f40404e910a622fb3a7382642c4cc7dba>", line 9, in __init__
  File "/home/mirror/tst.py", line 6, in validate_x
    raise ValueError(f"Unknown type: {value}")
ValueError: Unknown type: c

Real:
Traceback (most recent call last):
  File "/home/mirror/tst.py", line 23, in <module>
    a = A('c')
  File "<attrs generated init b58e3f79027d88b47fd9d82dccbb4d2f365e3754>", line 7, in __init__
  File "/home/mirror/tst.py", line 20, in init_detector
    return self.map[self.name]
KeyError: 'c'

This is expected behaviour.
As stated at http://www.attrs.org/en/stable/init.html?highlight=order#callables

Since the validators runs after the instance is initialized, you can refer to other attributes while validating:

As defaults are evaluated during initialization, the init_detector runs before the validation can take effect.

Yes this is indeed on purpose and simply a trade off call we had to make. I believe the way we chose to operate is overall more flexible.

Documentation would benefit from one clear statement about order of particular function execution. Currently one has to hunt it in multiple places.
Here is my proposal with demonstration about how it really works:
"""Order of applying attribute default, converter and validator

For each attribute one by one: apply default, then converter.

For each attribute: apply validator

For the instance, call `__attrs_post_init__`

"""
from functools import partial

import attr
from structlog import get_logger

log = get_logger()

def str2int(attname, text):
    log.info("converter", attname=attname)
    return text

def def_factory(attname):
    log.info("def_factory", attname=attname)
    return 123

def is_positive(attname, instance, attribute, value):
    log.info("validator", attname=attname)
    if value <= 0:
        raise ValueError("Value is not positive")

@attr.s
class A:
    a: int = attr.ib(
        default=attr.Factory(partial(def_factory, "a")),
        converter=partial(str2int, "a"),
        validator=partial(is_positive, "a"),
    )
    b: int = attr.ib(
        default=attr.Factory(partial(def_factory, "b")),
        converter=partial(str2int, "b"),
        validator=partial(is_positive, "b"),
    )
    da: int = attr.ib(converter=partial(str2int, "da"))
    db: int = attr.ib(converter=partial(str2int, "db"))

    def __attrs_post_init__(self):
        log.info("within __attrs_post_init__")

    @da.default
    def _da_default(self):
        log.info("default", attname="da")
        return 24

    @da.validator
    def _da_validator(self, attribute, value):
        log.info("validator", attname="da")
        if value <= 0:
            raise ValueError("Value is not positive")

    @db.default
    def _db_default(self):
        log.info("default", attname="db")
        return 24

    @db.validator
    def _db_validator(self, attribute, value):
        log.info("validator", attname="db")
        if value <= 0:
            raise ValueError("Value is not positive")

def test_it():
    inst = A()
    print("inst", inst)

Running it (as a pytest driven test case) results in following output:
2018-11-06 15:28.33 def_factory                    attname=a
2018-11-06 15:28.33 converter                      attname=a
2018-11-06 15:28.33 def_factory                    attname=b
2018-11-06 15:28.33 converter                      attname=b
2018-11-06 15:28.33 default                        attname=da
2018-11-06 15:28.33 converter                      attname=da
2018-11-06 15:28.33 default                        attname=db
2018-11-06 15:28.33 converter                      attname=db
2018-11-06 15:28.33 validator                      attname=a
2018-11-06 15:28.33 validator                      attname=b
2018-11-06 15:28.33 validator                      attname=da
2018-11-06 15:28.33 validator                      attname=db
2018-11-06 15:28.33 within __attrs_post_init__
inst A(a=123, b=123, da=24, db=24)

@vlcinsky Tnx. Cristal clear explanation


Tableau Dashboard

Added platform metrics current consolidated dashboard
Added tableau strategy request in postman collection
Fixed splunk current consolidated dashboard metrics calculations
Fixed metrics collection for BGs with no environments (API requests that does not require an environment id will be executed if BG does not have environments)
Fixed some logs typos
Fixed rawData flag handling (flag was not being taken into account when loaded from loadDetails coming from a POST API request)
Changed tableau.path property to tableau.outputDir
Changed tableau strategy JSON file generation rule
Added isMaster flag to indicate if BG is master organization
Added ratedAssets and unratedAssets in exchangeMetrics
Fixed overallSatisfaction calulation to use ratedAssets only
Changed ARM maxConcurrency from 100 to 3 to avoid 503 errors
Updated README.md with tableau instructions

Closing PR. New features and bug fixes will be submitted in separate pull requests.

Closing PR. New features and bug fixes will be submitted in separate pull requests.


VMAlertmanger HA mode supports every node to receive alerts

From my understanding, when Alertmanager is in cluster mode, the nodes synchronize configuration and node status information with each other but not alerts. Therefore, we need to send alerts to each node. To achieve it, we usually configure multiple Alertmanager addresses on vmalert. However, this does not guarantee that every Alertmanager node will receive the alert. It also depends on the load balancing algorithm. And we often use Alertmanager across Kubernetes clusters.
Since the vmalertmanager service corresponds to multiple nodes, it is impossible to specify which node should receive an alert explicitly. If this issue is not resolved, it may cause problems such as alerts being mysteriously resolved without notification or inhibit rules not working as expected. Is there any way to solve this problem?

Hello, it's recommended to set all exist alertmanager pod endpoints as arguments for VMAlert's notifiers. Or enable service discovery for notifiers.
This behavior described at docs https://docs.victoriametrics.com/operator/high-availability.html#vmalert
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:
  name: example-ha
  namespace: default
spec:
  datasource:
    url: http://vmsingle-example.default.svc:8429
  notifiers:
    - url: http://vmalertmanager-example-0.vmalertmanager-example.default.svc:9093
    - url: http://vmalertmanager-example-1.vmalertmanager-example.default.svc:9093

sd
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:
  name: example-ha
  namespace: default
spec:
  datasource:
   url: http://vmsingle-example.default.svc:8429
  notifiers:
    - selector:
        namespaceSelector:
          matchNames:
            - default
        labelSelector:
          matchLabels:
              usage: dedicated

Thank you. In my scenario, I will be using Alertmanager across multiple Kubernetes clusters. I plan to follow your suggestion and deploy Alertmanager separately in each cluster.


Question: Does murkmod have the same problem as issue 12 on fakemurk

https://github.com/MercuryWorkshop/fakemurk/issues/12

yes

Yes. Fix may be coming eventually.


Bazel C/C++ Opt MacOS: //test/cpp/end2end:client_callback_end2end_test failed due to SIGSEGV

https://source.cloud.google.com/results/invocations/6804105c-50dc-418f-bb90-873eb8d7d48b/log

Caught signal SIGSEGV
no backtrace
external/bazel_tools/tools/test/test-setup.sh: line 310: 98643 Segmentation fault: 11  "${TEST_PATH}" "$@" 2>&1
[10,546 / 10,554] 1656 / 2536 tests, 1 failed; Testing //test/core/end2end:h2_census_test@high_initial_seqno; 20s remote-cache, darwin-sandbox ... (16 actions running)
INFO: From Compiling test/core/channel/channel_args_test.cc:
test/core/channel/channel_args_test.cc:141:13: warning: unused function 'test_channel_create_with_global_mutator' [-Wunused-function]
static void test_channel_create_with_global_mutator(void) {
^
1 warning generated.
[12,094 / 12,111] 2129 / 2536 tests, 1 failed; Testing //test/core/end2end:h2_http_proxy_test@cancel_after_invoke; 35s remote-cache, darwin-sandbox ... (16 actions running)
[12,893 / 12,901] 2380 / 2536 tests, 1 failed; Testing //test/core/end2end:h2_tls_test@cancel_after_invoke; 11s remote-cache, darwin-sandbox ... (16 actions running)
INFO: Elapsed time: 1861.292s, Critical Path: 270.17s
INFO: 8049 processes: 8049 darwin-sandbox.
INFO: Build completed, 1 test FAILED, 13354 total actions

Closing since we decided not to track test flakes on github


Test adding Windows

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

@Lundez Thanks for contribution. You should be able to test in your folk (must in master branch).
You can ignore upload to S3 part when running in your folk.
I'm not sure if we need any CMake changes for this PR.

Codecov Report

Merging #1412 (65cbf5e) into master (bb5073f) will decrease coverage by 1.50%.
The diff coverage is 51.08%.

@@             Coverage Diff              @@
##             master    #1412      +/-   ##
============================================
- Coverage     72.08%   70.58%   -1.51%
- Complexity     5126     5248     +122
============================================
  Files           473      487      +14
  Lines         21970    23078    +1108
  Branches       2351     2518     +167
============================================
+ Hits          15838    16290     +452
- Misses         4925     5521     +596
- Partials       1207     1267      +60

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...modality/nlp/embedding/TrainableWordEmbedding.java
45.00% <0.00%> (-3.34%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...i/src/main/java/ai/djl/ndarray/NDArrayAdapter.java
15.23% <0.00%> (-0.83%)
:arrow_down:

... and 142 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e915c1f...65cbf5e. Read the comment docs.

@Lundez Thanks for contribution. You should be able to test in your folk (must in master branch).
You can ignore upload to S3 part when running in your folk.
I think there are few piece is missing:

The build.gradle also need to be update: https://github.com/deepjavalibrary/djl/blob/master/extensions/sentencepiece/build.gradle#L64-L68
We need add a build.cmd file for windows
I'm not sure if we need any CMake changes for this PR.

Ok, I'll take a look further. This is simply a draft PR for now :)
Most likely I'll fix it during the weekend!

@frankfliu https://github.com/Lundez/djl/actions/runs/1569820490 seems to run :)
Gonna remove AWS comments again

@Lundez
I made a few fixed on top your PR, but it seems still broken. On Windows, the .dll file is not generated.
I believe CMakeList.txt file need to be updated for Windows, see: https://github.com/levyfan/sentencepiece-jni/blob/master/src/main/native/CMakeLists.txt#L50-L56, there might be some other flags needed.

@Lundez
I made a few fixed on top your PR, but it seems still broken. On Windows, the .dll file is not generated.
I believe CMakeList.txt file need to be updated for Windows, see: https://github.com/levyfan/sentencepiece-jni/blob/master/src/main/native/CMakeLists.txt#L50-L56, there might be some other flags needed.

I'll take a look tomorrow. 👍

Don't have windows myself, so hard to test this. I'll give it some more time tomorrow, been very busy today.

@frankfliu it seems to be created based on the logs: https://pipelines.actions.githubusercontent.com/vaIqj4dCv5ckseiiqJ6l5KKSICSYkSf0qDCf97KwQ9WmgmyDyY/_apis/pipelines/1/runs/5/signedlogcontent/4?urlExpires=2021-12-14T16%3A24%3A23.3573049Z&urlSigningMethod=HMACV1&urlSignature=nD0kwdqTjE8qtFLbjNQgkDQw8DXgtDIcZKlY%2FmFM7uU%3D

2021-12-14T16:19:15.1459755Z   sentencepiece_native.vcxproj -> D:\a\djl\djl\extensions\sentencepiece\build\Release\sentencepiece_native.dll

2021-12-14T16:20:38.1959663Z     [Test worker] INFO ai.djl.sentencepiece.jni.LibUtils - Extracting /native/lib/win-x86_64/sentencepiece_native.dll to cache ...

though it fails on

Gradle suite > Gradle test > ai.djl.sentencepiece.SpTextEmbeddingTest > testEmbedding FAILED 2021-12-14T16:20:38.1970138Z     java.lang.IllegalStateException at SpTextEmbeddingTest.java:39

I'm not sure how I debug in GitHub Actions. And as I don't have Windows it's hard to run locally.. Ideas? Or is the DLL still missing you think?

@Lundez No worry, we will look into this.
@stu1130 can you review CMake changes for windows?

@frankfliu got more logging on (--info)

Gradle suite > Gradle test > ai.djl.sentencepiece.SpVocabularyTest > testTokenIdConversion FAILED
java.lang.IllegalStateException: SentencePiece library not found: /native/lib/win-x86_64/sentencepiece_native.dll
at ai.djl.sentencepiece.jni.LibUtils.copyJniLibraryFromClasspath(LibUtils.java:66)


Remove the ability to resend for offline transactions

Remove the ability to resend from the list of transactions or transaction details for offline transactions, because when using this function, the SBBS address is inserted, not the address.

checked


3 test cases for exercise "Connect" are wrong

Hello,
in the exercise "Connect", the 4th test case is:
test("convoluted path") {
    val lines = List(". X X . ."
                    ," X . X . X"
                    ,"  . X . X ."
                    ,"   . X X . ."
                     Then the X player (Black) must have cheated! A cheater should not win.
The 5th test case is:
test("rectangle - black wins") {
    val lines = List(". O . ."

                    ,"   X X O X"
                    ,"    . O X .")
    Connect(mkBoard(lines)).result should be (Some(Color.Black))
  }

There are 8 X's but only 6 O's. The player X must have cheated. In addition, there are 5 rows but only 4 columns. The numbers of the rows and the columns should be the same to be fair for the two players. The 6th test case has the same problem with 5 rows but 4 columns:
 test("rectangle - white wins") {
    val lines = List(". O . ."

                    ,"   X X O X"
                    ,"    . O X .")
    Connect(mkBoard(lines)).result should be (Some(Color.White))
  }

By the way, with the current unreasonable test cases, I have still written my code by the rules to pass all of the tests. But these are unfair games.
I really appreciate all of your kind efforts to establish and maintain this wonderful website. I have learned a lot by doing the exercises and from other programmers' comments.

Thanks. I notice that the same test cases are included in other language tracks. The Go and Haskell Connect exercises also have these same test case. I'll have to check to see how to proceed. We should probably be consistent..
Thanks again.
@kytrinyx : Could you weigh in on if this issue should be addressed in all the language tracks that implement Connect (or not addressed at all)?

@ricemery I think we should move this discussion to the x-common repository, figure out what the generic "right answer" is, and then write up an issue that can be submitted to all the affected language tracks.
I'll go ahead and copy the relevant part of the discussion over to x-common.

I've posted it here: https://github.com/exercism/x-common/issues/212 -- I'm closing this, and we can continue the discussion there. Thanks for bringing this up!


(maint) Only require release notes tag for bolt source code

This commit updates the commit message tag check to only run when the commit touches a file that contains a change to bolt source code. This excludes files in tests, bolt-server source, and other files that where changes will not need to be added to the changelog.

Did this really just fail bc there was a change in .github :rofl: :rofl: :rofl: touche github.


App crash on fast navigation

Environment

Operating System: Darwin
Node Version:     v22.4.1
Nuxt Version:     3.12.4
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-7pqnf6
Demo with multiple pages and simulated asynchronous API requests via setTimeout.

Open min reproduction
Repeatedly quickly click the navigation buttons to switch between pages
The application stops responding

Video how reproduction: Record.webm
Describe the bug
The application crashes when quickly navigating to pages where useAsyncData is used.
Additional context
No response
Logs
No response

i tried to reproduce it in stackblitz but it doesn't crash to me, Could it be that it creates some sort of memory leak that brings down the machine? due to overlapping setTimeout? it happens in local too?

I tried to profile this but couldn't find the cause. To reproduce, you can try increasing the callApi() function time and clicking the navigation menu as fast as possible. This is reproduced locally in dev and build modes, in all browser engines and on different devices. We caught this error while working with the real API in useAsyncData.

i think it is a memory leak because i can't use right click on browser page when the app crash xD

@pont1s remove all await before useAsyncData, it will fix your problem

@fishDev94  We need to use await with useAsyncData. I know we can use status for conditional rendering, but it doesn't work in our case. So I'd like to figure out why the app crashes when await with useAsyncData in <script setup>

Hello :wave: I can't reproduce the issue .
@fishDev94 await is MANDATORY with useAsyncData, you'll have a high probability of having a memory leak AND cross-request state pollution otherwise.

Hello 👋 I can't reproduce the issue .
@fishDev94 await is MANDATORY with useAsyncData, you'll have a high probability of having a memory leak AND cross-request state pollution otherwise.

as @pont1s  said to me, try to set an higher ms value on callApi fn

@huang-julien I increased the execution time of the async function in my demo. Please try again. I don't have a recipe for how to reproduce this stably, you just need to quickly click on the links in the menu, like in my video. Tell me, were you able to reproduce it now?

@pont1s I still can't reproduce it :/
@fishDev94 It is mandatory, can you show me where this is indicated as not suggested ?

I'll set this as need reproduction until someone can reproduce on their side.

You can't reproduce this on StackBlitz or in dev mode (at least I couldn't). I copied the demo app and built it. After running it, I started navigating between pages, and my browser froze.

I have the same problem

I will add another video on reproduction, I hope it will help someone from the core team to reproduce this issue. Sometimes you need to do several dozen navigations to catch the crash. As written above, reproduction may depend on the ms value on callApi fn. You can also try to clone the project and run dev/prod locally.
Record2.webm

Please fix this bug, it's not nice when this happens in production(

I can confim that this issue can be reproduced using the reproduction example in all the versions >=3.6.2

Hi! Regarding this problem, I believe the cause is outlined in this pull request. As @arg0NNY mentioned, this bug started from version 3.6.2. I cloned the Nuxt repository and tried to reproduce it in the playground on versions 3.6.1 and the pull request. The first one works as expected, but this MR throws errors in the console.

Since the Vue version doesn't change, I suspect that this is an internal Nuxt bug.

@arg0NNY @VasiliyRusin Great research!
Updated reproduction demo to the current Nuxt version 3.13.2. Issue still reproduced

@danielroe @huang-julien Hi! Can someone from the core team try to reproduce the issue to confirm it? Perhaps the research conducted above can help with this.

@danielroe  @huang-julien Please pay your attention to this issue. I'm absolutely sure that it's quite serious problem. Especially for projects with slow backend.

@danielroe @huang-julien maybe u can suggest any workaround for this issue.


fix: vertical scroll was appearing on container when weeks in month s…

[x] I have changed my target branch to develop :facepunch:

Opened in #119.
Description
423

424

Hi,
I'm unable to reproduce the issue.
Please provide version, material-ui version, browser and platform you are using, as well as a minimal example which reproduces this issue.
You can use this playground to create one.

Hey, I'm unable to reproduce it today as well. I guess I'll close this one.

hah, I was running beta.9

@big-kahuna-burger So it's not reproducible in beta.9? If so, we should probably revert this PR, cause it's already included in beta.10


MenuItem setOrnament doesn't always update UI

Posted https://www.reddit.com/r/gnome/comments/svbf70/popupmenuitemsetornament_only_updating_after_hover/

https://discourse.gnome.org/t/popupmenuitem-setornament-only-updating-after-hover/8966

Seems to be fixed.


Fix harvesting for progressive-element-set-name compat

Codecov Report

Merging #8 into master will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           master      #8   +/-   ##
======================================
  Coverage    61.8%   61.8%
======================================
  Files           7       7
  Lines         432     432
======================================
  Hits          267     267
  Misses        165     165

Impacted Files
Coverage Δ

lib/client.js
69.53% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 064f5b2...1f0cefe. Read the comment docs.


Runtime Error after uploading image

Unhandled Runtime Error

SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

- error TypeError: Cannot read properties of undefined (reading 'get')
    at POST (webpack-internal:///(sc_server)/./app/generate/route.ts:56:46)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async eval (webpack-internal:///(sc_server)/./node_modules/next/dist/server/future/route-modules/app-route/module.js:242:37)

Anyone else recieve the same issue?

same to me : error TypeError: Cannot read properties of undefined (reading 'get')

How to fix this error

Make sure to have a .env file with value for REPLICATE_API_KEY

Make sure to have a .env file with value for REPLICATE_API_KEY

Already did.

No images can be loaded on the site, always an error


Remove version: Tencent.QQMusic version 18.73

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: http://dldir1.qq.com/music/clntupate/QQMusic_Setup_1873.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 911)


bonzomatic: 2022-02-05 -> 2022-08-20

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Gargaj/bonzomatic/releases.
meta.description for bonzomatic is: "Live shader coding tool and Shader Showdown workhorse"
meta.homepage for bonzomatic is: "https://github.com/gargaj/bonzomatic"
meta.changelog for bonzomatic is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2022-06-18 with grep in /nix/store/2pimiplnv44vcx52ql1vn67mba7vdprr-bonzomatic-2022-06-18
found 2022-06-18 in filename of file in /nix/store/2pimiplnv44vcx52ql1vn67mba7vdprr-bonzomatic-2022-06-18

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
bonzomatic

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2pimiplnv44vcx52ql1vn67mba7vdprr-bonzomatic-2022-06-18 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bonzomatic https://github.com/r-ryantm/nixpkgs/archive/2e580cfd66c7fdcc6c452712d4ddd926e3c2baa8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2pimiplnv44vcx52ql1vn67mba7vdprr-bonzomatic-2022-06-18
ls -la /nix/store/2pimiplnv44vcx52ql1vn67mba7vdprr-bonzomatic-2022-06-18/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bonzomatic

Maintainer pings
cc @ilian for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Gargaj/bonzomatic/releases.
meta.description for bonzomatic is: "Live shader coding tool and Shader Showdown workhorse"
meta.homepage for bonzomatic is: "https://github.com/gargaj/bonzomatic"
meta.changelog for bonzomatic is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2022-07-08 with grep in /nix/store/yaf0wh2hh9c5wxc7ic9vcmdxypll30vj-bonzomatic-2022-07-08
found 2022-07-08 in filename of file in /nix/store/yaf0wh2hh9c5wxc7ic9vcmdxypll30vj-bonzomatic-2022-07-08

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
bonzomatic

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yaf0wh2hh9c5wxc7ic9vcmdxypll30vj-bonzomatic-2022-07-08 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bonzomatic https://github.com/r-ryantm/nixpkgs/archive/32c576573b975181cb3521ce8179a15a40eb32d8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yaf0wh2hh9c5wxc7ic9vcmdxypll30vj-bonzomatic-2022-07-08
ls -la /nix/store/yaf0wh2hh9c5wxc7ic9vcmdxypll30vj-bonzomatic-2022-07-08/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bonzomatic

Maintainer pings
cc @ilian for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Gargaj/bonzomatic/releases.
meta.description for bonzomatic is: "Live shader coding tool and Shader Showdown workhorse"
meta.homepage for bonzomatic is: "https://github.com/gargaj/bonzomatic"
meta.changelog for bonzomatic is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2022-08-20 with grep in /nix/store/qz1f61vq24v2rwxcakdzbbi9hp62bi58-bonzomatic-2022-08-20
found 2022-08-20 in filename of file in /nix/store/qz1f61vq24v2rwxcakdzbbi9hp62bi58-bonzomatic-2022-08-20

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
bonzomatic

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qz1f61vq24v2rwxcakdzbbi9hp62bi58-bonzomatic-2022-08-20 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bonzomatic https://github.com/r-ryantm/nixpkgs/archive/4d4f149f1e735dbb4351ade2fa522ece7c05ae67.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qz1f61vq24v2rwxcakdzbbi9hp62bi58-bonzomatic-2022-08-20
ls -la /nix/store/qz1f61vq24v2rwxcakdzbbi9hp62bi58-bonzomatic-2022-08-20/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bonzomatic

Maintainer pings
cc @ilian for testing.

@ofborg build bonzomatic bonzomatic.passthru.tests


Raspberry Pi

salam
how to install this on raspberry pi?
I tried to install it by the following code but it get an error
anyone can help, please?
thanks

Hello
what is your OS?
and do you have valid IP ?


Add CloudTrail tags and change trail name

Add CloudTrail tags to reflect that the CloudTrail trail was created by Assisted Log Enabler for AWS
Change CloudTrail name to be more reflective that it's created by Assisted Log Enabler for AWS

Both of these features are added in release 1.4.2: https://github.com/awslabs/assisted-log-enabler-for-aws/releases/tag/v1.4.2


missing uninstall instructions or script

I got my / (root) partition full running the installer, would be nice if the installer allowed to install without sudo as local user, I canceled the installation at step Downloading Linux ROCm amd64 bundle due to the mentioned disk space issue, and now there is no uninstall instructions, had to figure it out where the ollama files were put to and delete manually

https://github.com/ollama/ollama/issues/7421

hi @rick-github thanks for pointing out, I should have searched better, I changed title to focus on the missing uninstall script/instructions

actually the uninstall script was already requested at #1701


Deploy workflow

Adds workflow to deploy recipe to Dataflow.

Hmm confused why I'm still seeing
{"message": "Error during running: No module named 'pangeo_forge_recipes.transforms'", "exc_info": "Traceback (most recent call last):\n  File \"/srv/conda/envs/notebook/bin/pangeo-forge-runner\", line 8, in <module>\n    sys.exit(main())\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_runner/cli.py\", line 28, in main\n    app.start()\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_runner/cli.py\", line 23, in start\n    super().start()\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/traitlets/config/application.py\", line 464, in start\n    return self.subapp.start()\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_runner/commands/bake.py\", line 201, in start\n    recipes = feedstock.parse_recipes()\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_runner/feedstock.py\", line 81, in parse_recipes\n    recipes[r[\"id\"]] = self._import(r[\"object\"])\n  File \"/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_runner/feedstock.py\", line 66, in _import\n    exec(compile(source=rewritten_ast, filename=filename, mode=\"exec\"), ns)\n  File \"feedstock/recipe.py\", line 9, in <module>\n    from pangeo_forge_recipes.transforms import (\nModuleNotFoundError: No module named 'pangeo_forge_recipes.transforms'", "status": "failed"}

will need to look into that further.

Ok great! Pruned test is now working on dataflow, and openable with:
import xarray as xr
path = "https://ncsa.osn.xsede.org/Pangeo/pangeo-forge/aqua-modis-feedstock/aqua-modis-682286948-6008052687-2/aqua-modis.zarr"
ds = xr.open_dataset(path, engine="zarr")
ds

<xarray.Dataset>
Dimensions:   (time: 1, lat: 4320, lon: 8640)
Coordinates:
  * lat       (lat) float32 89.98 89.94 89.9 89.85 ... -89.9 -89.94 -89.98
  * lon       (lon) float32 -180.0 -179.9 -179.9 -179.9 ... 179.9 179.9 180.0
  * time      (time) datetime64[ns] 2002-07-04
Data variables:
    bbp_443   (time, lat, lon) float64 ...
    chlor_a   (time, lat, lon) float32 ...
    qual_sst  (time, lat, lon) uint8 ...
    sst       (time, lat, lon) float64 ...
Attributes: (12/44)
    Conventions:                      CF-1.6 ACDD-1.3
    cdm_data_type:                    grid
    creator_email<EMAIL_ADDRESS>    creator_name:                     NASA/GSFC/OBPG
    creator_url:                      https://oceandata.sci.gsfc.nasa.gov
    easternmost_longitude:            180.0
    ...                               ...
    sw_point_longitude:               -179.9791717529297
    temporal_range:                   8-day
    time_coverage_end:                2002-07-12T02:19:59.000Z
    time_coverage_start:              2002-07-04T00:55:01.000Z
    title:                            MODISA Level-3 Standard Mapped Image
    westernmost_longitude:            -180.0


Stable to Prod-beta

Release Notes:

Changed API from v0 to v1
added new state - under pressure
Updated disk utilization to show raw number instead of percentage
updated Suggestion page UI to handle \n
updated ROS not configured steps
Enabled state filtering

Codecov Report

Merging #83 (91047b7) into prod-beta (1b6bbb6) will decrease coverage by 0.42%.
The diff coverage is 8.82%.

@@              Coverage Diff              @@
##           prod-beta      #83      +/-   ##
=============================================
- Coverage      12.25%   11.83%   -0.43%
=============================================
  Files             28       29       +1
  Lines            416      448      +32
  Branches          90       96       +6
=============================================
+ Hits              51       53       +2
- Misses           338      366      +28
- Partials          27       29       +2

Impacted Files
Coverage Δ

src/Components/RosTable/DiskUsage.js
0.00% <0.00%> (ø)

src/Components/RosTable/SystemState.js
0.00% <ø> (ø)

...nents/ServiceNotConfigured/ServiceNotConfigured.js
0.00% <ø> (ø)

...rc/Components/SystemDetail/RecommendationsTable.js
76.19% <ø> (ø)

src/Routes/RosPage/RosPage.js
0.00% <0.00%> (ø)

src/constants.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b6bbb6...91047b7. Read the comment docs.


Create Survey - Framework

Inventories the actual framework usage for the teams that use OpenShift.
Questions:

What tool/framework do you use: (react Angular, Vue, Vuetify, other)
What UI component libray are you using: (Material design libraries)
Are you developing mobile applications?
Are you developing Web applications that need to run on mobile?

Surveys are combined into one. https://sdd-limesurvey-test.apps.silver.devops.gov.bc.ca/index.php/677731?newtest=Y&lang=en


Lets play with coverage tools in our test suite

We decided we should at least play with coverage in our test suite to see what we get.
A challenge is that we'll need to produce something to browse on our dashboard manually or maybe we can push to codecov where we can at least browse it there even if it doesn't run from GitHub?

Just in case it helps:
enabling coverage for most compilers is pretty easy:
https://github.com/LLNL/conduit/blob/7afc2d638d1d8e2622a87a88003366b5257551e9/src/cmake/CMakeBasics.cmake#L86
Then, using a tool like covreralls, then you use a post-build step that walks the file system to find coverage files:
https://github.com/LLNL/conduit/blob/7afc2d638d1d8e2622a87a88003366b5257551e9/.travis.yml#L242
There are may ways to create charts without a services as well.
lcov + gen html is one path we have used in the path - but there may be better options.

Related to #4057


Strange closure/scope problem

I have a point in my code where a nested anonymous function appears to have lost about half the vars in a closure scope.  I saw this using node-inspector and tried to chase my problem.  Then on a hunch I put away node-inspector and placed console.log statements around that point.  There was no such problem according to stdout.
So either V8 or node-inspector had a problem.  Has anyone else seen something like this?  I don't think I could easily boil this down to a test-case.  It is in the middle of some thick hairy code.
I hate to lose faith in such a useful tool as node-inspector but I wasted a lot of time on this.

same here, I was debugging some stuff within the http module (in the ondata callback in line 1374) and have no access to any variables...

Wild-ass-guess:  Maybe it happens when there are data connection problems?


Add support for multiple webpack magic comments and Prefetch/Preload

First, let me thank you for this awesome tool (alongside react-universal-component and webpack-flush-chunks)
I've noticed that #43 was aimed at supporting webpack magic comments which enable thinks like custom chunkNames and lazy mode. And recently, it has been introduced 2 new comments webpackPrefetch and webpackPreload (webpack 4.6.0) that allow you to instruct webpack to use <link rel=”prefetch/preload”> so you can do this as a loading strategy:
universal(() => import(/* webpackChunkName: "route--home", webpackPrefetch: true */"./home"))

but unfortenately the second comment doesn't work and break the chunkName which results in route--home, webpackPrefetch: true.js. So is there currently any plan to add support these handy features?
Thanks.

I think we definitely want that. Just gotta find the time.

Thanks for the prompt reaction.

@faceyspacey  - is there a specific area in the library where this would need to be added, I can attempt a PR

This is something I would like to add, the best thing would be to look at the Import visited section at the bottom of the file, I have a function that checks if magic comments exist, it might just need to be updated slightly

@ScriptedAlchemy where are the docs? https://webpack.js.org/guides/code-splitting/ has 0 examples of more than one comment


changed reference.md to clarify schedule_relationship:SKIPPED

Refer to issue v26: https://github.com/CUTR-at-USF/gtfs-realtime-validator/issues/26

I've opened a proposal in PR at https://github.com/google/transit/pull/139


Settings being dropped after eclipse restart

Settings being dropped after eclipse restart. PLEASE HELP!!!

two cents:

create a plug-in dev project by THE template
edit copyright test of the template
persist the change
finish project creation or calcel it, we do not need this project actually
open etape-dedicated Preferences
Copyright field is empty (even last time you saw it there was a not-blank value

I dare to anticipate persisted copyright must appear to prefernces


Inefficient allocations in worker pool

Driver version: Go driver 1.7.2
In the new worker pool - there's this function:
func workerEntryPoint(pool *workerPool) {
	for {
		select {
		case work := <-pool.workQueue:
			work(pool.stopper)
		case <-pool.stopper:
			return
		case <-time.After(pool.keepAlive):
			return
		}
	}
}

We've seen some GC pressure caused by this: time.After creates a new timer for every call, so every loop iteration creates a timer.
In our integration tests this actually brings time.NewTimer to the top of memory allocations:
(pprof) top
Showing nodes accounting for 19004.54kB, 84.13% of 22588.77kB total
Showing top 10 nodes out of 172
      flat  flat%   sum%        cum   cum%
 4608.45kB 20.40% 20.40%  4608.45kB 20.40%  github.com/<omitted>/vendor/github.com/neo4j-drivers/gobolt.(*workerConnection).queueJob
 4608.38kB 20.40% 40.80%  4608.38kB 20.40%  time.NewTimer

I think we can fix this relatively easily, but I haven't dived too deep into the code. Happy to hear your thoughts.
The change:
func workerEntryPoint(pool *workerPool) {
	t := time.NewTimer(pool.keepAlive)
	for {
		select {
		case work := <-pool.workQueue:
			work(pool.stopper)
			if !t.Stop() {
				<-t.C
			}
			t.Reset(pool.keepAlive)
		case <-pool.stopper:
			return
		case <-t.C:
			return
		}
	}
}

After change: (7MB drop, NewTimer doesn't even sample)
(pprof) top
Showing nodes accounting for 10760.55kB, 75.01% of 14344.66kB total
Showing top 10 nodes out of 145

Hi @adamglt,
Thanks for reporting this issue. Your proposed change looks good to me as well.
I'll be happy to merge it if you could create a PR at https://github.com/neo4j-drivers/gobolt for 1.7-dev branch.
Ali

Sure - created.

Thanks @adamglt, the PR is now merged, will be part of 1.7.3 release in the upcoming weeks.


We should be able to see logs from device when running tests with custom TestRunner

Closed in favor of thaliproject/Thali_CordovaPlugin#1124


Delete unused docs

Deleting unused docs
PTAL

Before we merge this, we should add a redirect rule to route people that try and visit these docs to a useful default. eg: the docs home
I'll create a new issue to add it.

Have we worked on the redirect for these docs yet?


Wifi Manager running instead of IR Blaster Controls

To reproduce:
Kill the power to your ESP8226 devices and your wireless router/access points.
Reconnect power to ESP8226 devices.  Wait a minute or so - reconnect power to wireless router.
Eventually the ESP8226 devices will connect back to the wireless that has been saved in config however instead of showing the IR Blaster server pages, we get sent to Wifi manager settings.  This remains until we power cycle or we set the wifi manager settings again.

That's the expected behavior of WiFi manager, if the device boots without any WiFi connection it goes into access point mode, and once in that it cannot act as a client to see if the connection has subsequently become available
No good way to improve this behavior unfortunately


Updates dependencies. Scala 2.12.0

Current coverage is 2.09% (diff: 100%)

Merging #6 into master will not change coverage

@@            master        #6   diff @@
========================================
  Files           13        13
  Lines          239       239
  Methods        229       229
  Messages         0         0
  Branches        10        10
========================================
  Hits             5         5
  Misses         234       234
  Partials         0         0

Powered by Codecov. Last update a79d315...5e2fac9


sync develop->master

I test this several time, let's merge.

I test this several time, let's merge.


Fix building tests on MinGW (use old fmode)

MinGW does not export the _set_fmode function via its libmsvcrt.a import library unless on an ARM platform. This causes the test target build to fail unless manually adjusting the link parameters - which is a nuisance.
It is safe to assume _fmode is widely available by all stable releases and that should be preferred unless using MSVC. This is unrelated to #2407 but when both are fixed, MinGW builds should complete successfully.

CI with no apparent related failures: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1502/

Landed in https://github.com/libuv/libuv/commit/be1e71916dc370d5804291cf845f42388b175222. Thanks!


Conduits connecting where they should not

EnderIO conduits are connecting to the blocks they should not connect. For example it visualy connects Fluid Conduit to GregTech Cable. Not sure if its something that needs to be taken care of on your side on GT side. So I am reporting this on both issue trackers
+
GT issue: https://github.com/Blood-Asp/GT5-Unofficial/issues/92

If the tile support fluid interaction - then the conduits will by default connect.

To add on to that...The fluid API provides no way to "validate" a connection. Just disconnect the conduits manually.

The ender fluid conduits connects to me smart fluix cable

EnderIO-1.7.10-<IP_ADDRESS>1
appliedenergistics2-rv2-stable-10

@DarknessShadow if you would have read the answer in this issue so far - then you would know that this is nothing which can be changed.


[FONT] Ensure text remains visible during webfont load

Guidelines for posting a new issue
In PageSpeed insights i receive the following message: Ensure text remains visible during webfont load.
How to FIX this situation?

Please replicate your issue with this CodeSandBox and provide a link to it along with the issue description

I have the same problem!!!

I add the font-display: swap in font-face of all slick-theme documents in node_modules and solved it by running in localhost

facing same issue, please advise a way forwad, if CSS is not maintained, please remove the font dependency

Anything on this?
How do i resolve this?

we removed the dependency on react-slick and customised the css for slcik carousel

Do not. I tried everything and I couldn't solve it here!

@Ricardo-Bonin  any way around this?

The solution would be for them to add the font-display: swap; to @font-face straight in the default css! I made the suggestion but they didn't accept it!

You should override to your slider button fonts with css.
.slick-next:before, .slick-prev:before{
font-family:  (Your project font or anything what you want) !important;
font-display: swap;
}


bugfix: name validation supporting parameter

closes #402

I think that maybe we should just disable this validation

Maybe we should just disable the name validation by default?

Yeah, let's do that

@premun I'm wondering if allowing compile/runtime expressions would fix issues here while still protecting us when having constant values for the name

You mean to remove everything between the start/end of these expressions and validating the rest?

@premun that's what I did here, basically if the name looks like an expression then ignore the validation


Can't resolve all parameters for TooltipOptions

Just updated to version 1.3.3, but having this error while doing AoT compilation:
Can't resolve all parameters for TooltipOptions in path/node_modules/ng2-bootstrap/tooltip/tooltip-options.class.d.ts
I'm not using TooltipOptions anywhere. Using webpack 2.2.1, TS 2.1.5, Angular 4.0.beta6.
On JiT works fine.

Same issue

I will need to replace it with interface or something... strange it was working fine before

The same error with default JIT compilation;

Confirm the error for AoT, JiT is fine.
ng2-bootstrap 1.3.3, Angular 4.0.0 RC1, angular-cli 1.0.0 RC0

@valorkin This needs a fix because Angular 4 is nearly here.

Works in Angular 2 but not in Angular 4

I took a look, there are not so many breaking changes for devs, but a lot for lib devs :(

I found workaround:
import { TooltipModule } from 'ng2-bootstrap/tooltip/tooltip.module'

instead of
import { TooltipModule } from 'ng2-bootstrap/tooltip'

just don't import deprecated ng2-bootstrap/tooltip/tooltip-options.class.js which exported automatically from ng2-bootstrap/tooltip/index.js

@Iverson I don't import this module anywhere and still get the error.

@valorkin :+1: When will be new NPM version released?

Updated cli to rc.0
tomorrow I want to release 2 versions
With ng v2 and 4

@valorkin Please note an interesting side effect.
In my code I use lazy load, AOT compilation and shared factory where init and expose all ng2-bootstrap modules across the app.
When I import all modules directly as @Iverson suggested
import { TooltipModule } from 'ng2-bootstrap/tooltip/tooltip.module'
the size of vendor.bundle.js becomes slightly bigger, but lazy loaded chunks which use shared ng2-bootstrap modules become much smaller.
In result my total AoT tree-shaked, minified and compressed production build is 200kb lighter.
I use Angular 2.4.8, CLI RC0

I'm dying here waiting for the fix :(

Also waiting for the fix. @valorkin can you tell when the new release will be ready?

https://github.com/valor-software/ng2-bootstrap/releases/tag/v1.4.0
published


[C2M] Option -o is ignored when using with -s or -c

When I do the following command:
c2m -S -o t.mir test.c
c2m -c -o t.bmir test.c

I was expecting that the files t.mir and t.bmir would be created, but instead,
the files test.mir and test.bmir were created, seems like -o is ignored.

Yes, you are probably right.  People should expect behaviour analogous to gcc.  It is also useful for simpler Makefiles.
I'll implement this requested feature.

I've fixed it by https://github.com/vnmakarov/mir/commit/053a1d41abe501dc258e185bbd2af4f4b734aab2

Thanks! This simplified my build scripts that uses C2M.


docs: fix deprecation policy typo

Problem Statement
What is the problem you're trying to solve?
To solve a minor typo in the documentation.
Proposed Changes
How do you like to solve the issue and why?
By fixing the typo and testing locally with make docks.publish && make docs.serve
Checklist

[X] I have read the contribution guidelines
[X] All commits are signed with git commit --signoff
[X] My changes have reasonable test coverage
[x] All tests pass with make test
[X] I ensured my PR is ready for review with make reviewable

/approve


Can't connect to 3 letter channels with ChatClient

Bug Report
When trying to use ChatClient from twitch-chat-client to connect to a chat, you can't connect to 3 letter channels like twitch.tv/lck or twitch.tv/lcs because of this rule: https://github.com/d-fischer/twitch/blob/d1cf5ed14ad4bc1ceb046e4f0e93809300e90ce1/packages/twitch-chat-client/src/Toolkit/UserTools.ts#L2
Code
import {ChatClient} from "twitch-chat-client";

const chatClient = new ChatClient(null, {channels: ["lck"]});
await chatClient.connect();

Expected behavior
Expect to connect to chat without errors.
Actual Behavior
Error when running the code above:
file:///app/node_modules/twitch-chat-client/es/Toolkit/UserTools.mjs:8
throw new Error("\"" + name + "\" is not a valid user or channel name. It must be 4-25 characters long, can only include letters, numbers and underscores, and can not start with an underscore.");

Error: "lck" is not a valid user or channel name. It must be 4-25 characters long, can only include letters, numbers and underscores, and can not start with an underscore.

Environment

Version: 4.4.8
Node version: 15.5.0

There are 1 letter usernames so this should probably be reduced. For instance user X.


Add support for multi-layer snow from JULES 5.0 (PS41 configuration)

Description
Updates LISF to support multi-layer snow from JULES 5.0 (PS41 configuration)
Also adds preliminary support for NAVGEM SST data at 0.25 deg resolution.  Further work on this is expected.
Also updates LVT postprocessing scripts to use new module on DIscover, and to allow use of Skylake nodes.
This code was originally forked from support/lisf-557ww-7.3, but development lagged behind the creation of the support/lisf-557ww-7.4 branch.  Jim Geiger was instrumental in pulling the code out of the branch and rebasing it off of LISF 7.4.
Code was tested by Eric Kemp.

Since Jim Geiger did the heavy lifting of rebasing this off of LIS 7.4, and I did the role of "reviewer" by testing before submitting the pull request, I will take the unusual step of approving the PR.


StoreWatcherMixin Widget not rebuilding

Hi,
I've been wrestling with this for a while now and can't see what is going wrong, but my StoreWatcherMixin widget does not get build() called after setting state in the flux store.
Main.dart:
void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  State createState() => new AppState();
}

class AppState extends State<MyApp>
  with StoreWatcherMixin<MyApp> {

  var appStore;

  @override
  void initState() {
    super.initState();
    appStore = listenToStore(_appStoreToken);
  }

  @override
  Widget build(BuildContext context) {
      ...
      return new SecondPage(_appStoreToken);
   }

The store:
final Action<List<Foo>> setFoos = new Action<List<Foo>>();
final AppStore _store = new AppStore();
final StoreToken _appStoreToken = new StoreToken(_store);

class AppStore extends Store {
  List<Foo> _allFoos = new List<Foo>();
  List<ArkhamDBCardPack> get allFoos => _allFoos;

  AppStore() {
    triggerOnAction(setFoos, (value) => _allFoos = value);
  }
}

Second page:
class SecondPage extends StatefulWidget {

  final StoreToken _storeToken;
  SecondPage(this._storeToken);

  @override
  State createState() => new SecondPageState(_storeToken);
}

class SecondPageState extends State<SecondPage>
  with StoreWatcherMixin<SecondPage> {

  var appStore;
  final StoreToken _storeToken;
  List<Foo> foos;

  SecondPageState(this._storeToken);

  @override
  void initState() {
    super.initState();
    debugPrint('x');
    appStore = listenToStore(_storeToken);
    foos = appStore.allFoos;
  }

  @override
  Widget build(BuildContext context) {
    debugPrint('rebuilding');
    return new IconButton(
              icon: new Icon(Icons.refresh),
              onPressed: () async {
                var data = await fetchFoos();
                setFoos.call(data);
              },
            )
   }
}

This isn't the exact code, but its close enough. The first time it runs, I press the button on the second page to fetch the data and call setFoos. debugPrints show that it has set the value correctly into the store, but the build() and debugPrint('rebuilding') are never called a second time.
What am I doing wrong? I really want to get this working as flutter and flux seem like a great tech. Thanks in advance!

You didn't show your "fetchFoos" function, but I'm wondering if it ever returns. Set a breakpoint at "setFoos.call(data)" to make sure fetchFoos() return and then and then step into the call() function.  You should end up in StoreWatcherState._handleStoreChanged(), which should then call setState(). After that, reaching your build() function should be straightforward.
If running the debugger is problematic, try putting some debugPrint statements in onPressed and in StoreWatcherState._handleStoreChanged.
BTW, as a matter of convenience, the "call" function is special. To call such a function, you can just say:
setFoos(data);

Thanks for the reply. "fetchFoos" does return a list as expected, I can attach a breakpoint and see that, but I am unable to step into setFoos. Hovering over it with the mouse cursor inspects it and shows that setFoos is an Action with a _listeneres list of 0 items - it should have one (AppStore)?


Pre-request script cannot make https connection with localhost API

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I am doing local .NET 8 API development and trying to use Bruno to make API calls.  There is an authorization endpoint that returns a bearer token.  I would like to make a call to this endpoint in the pre-request script, save the bearer token to an environment variable, and then use that for the primary API request.
When trying to make the call using axios, I am getting the a unable to verify the first certificate error.
I have read through many of the past issues as well as StackOverflow and haven't found a fix.
One suggestion was to install https module and use it to override the axios httpAgent.  I can confirm that npm successfully installed https to the node_modules folder.  But when trying to register the module, I get the error Error invoking remote method 'send-http-request': Error: Error: Cannot find module https
.bru file to reproduce the bug
No response
Screenshots/Live demo link

Hi @tgourley!
To use https module  can you check if you have these things

You are in the developer mode.

You have whitelisted the https module inside bruno.json

scripts": {
    "moduleWhitelist": ["https"],
    "filesystemAccess": {
      "allow": true
    }
  }

I had the same error. I solved it with the solution mentioned by @anusree-bruno. Thanks. ❤

I cannot confirm that this is working for me on Bruno 1.35. In fact if I follow these instructions I find that Bruno starts crashing on me 😢

@jherdman Would you be able to share a video and a crash report for this?


error in priviliges describe. Priviliges on procedure

Postgresql 12
Dbeaver 22.0.0

added any symbols

_209868
_29481
...
to the end of procedure name

dbeaver generated this priviliges script

but 'backups.del_proc_get_notice_statistics' it is not a function!!

it is procedure. Script is wrong.

I see, functions names are incorrect in the role source tab. And their names are correct in functions source tab.
Thanks for the bug report @detkliff


Fix dark mode toggle switch style on mobile devices.

Sorry. I don't see the issue here. Do you have a screenshot?


Add backgroundOpacity option

Maybe add an backgroundOpacity option to make the background transparent. I found no option to do this in the settings. Sorry if there is already an option to do that!.

See acrylicOpacity option in this Settings Schema.

Oh, i'm sorry!. I didnt saw that 😕 !. Thank you!.


[Feature]: add expect(spy).toHaveResolvedWith for spies on async functions

🚀 Feature Proposal
Add a matcher for spies that spy on async functions.
Motivation
When spying on async functions, the received value of expect(spy).toHaveReturnedWith is always a Promise. This causes the tests to fail.
One way to go around this is to manually retrieve the Promise from the mock's metadata and await it.
See: https://github.com/plbstl/minimal-reproduction-jest-expect-tohavereturnedwith/blob/8e070ed6fb3757f5cf36a0550e1d6a5a31bebfd3/tests/index.test.ts#L14
It would be nice if expect(spy).toHaveReturnedWith automatically handles this or a new matcher (for example, toHaveResolvedWith) is created specifically for this use case.
Example
expect(asyncFunctionSpy).toHaveResolvedWith('expected')

Pitch
As helpful as the toHaveReturnedWith matcher when dealing with async code.

...

...