Create an article about Observability

Observability
Observability refers to the ability to understand the internal state of a system by examining its external outputs. It involves collecting, aggregating, analyzing, and leveraging data from various sources like logs, metrics, traces, and events to gain insights into the system's behavior, performance, and health.
Observability has evolved into a key practice for IT operations, DevOps, and Site Reliability Engineering (SRE) teams.

1. Category

1.1. Metrics
1.2. Logs

1.2.1. Levels

1.3. Traces
1.4. Events
1.5. Grafana

1.5.1. Provisioning

<IP_ADDRESS>. Datasources
<IP_ADDRESS>. Dashboards

1.6. Promtail

2. References

1. Category
1.1. Metrics
Quantitative measurements of system behavior over time, such as CPU usage, memory consumption, request latency, used for monitoring and alerting.
1.2. Logs
Records of events or actions occurring within the system, providing detailed information for troubleshooting and auditing.
1.2.1. Levels
Log levels

DEBUG

Fine-grained informational events that are most useful to debug an application. These are usually of value to devlopers and are very verbose.

INFO

Informational messages that highlight the progress of the application at coarse-grained level.

WARN

Potentially harmful situations that indicate a risk to an application. These can trigger an alarm in an applicaiton.

ERROR

Error events that might still allow the application to continue running. These are likely to trigger an alarm that requires attention.

FATAL

Very severe error events that will presumably cause an application to abort.

CRITICAL
NONE

1.3. Traces
Distributed tracing data that shows the flow of requests through different parts of a system, helping to identify bottlenecks and performance issues.
1.4. Events
Notifications or signals emitted by the system to indicate specific occurrences, which can be consumed for real-time analysis or triggering other processes.
1.5. Grafana
1.5.1. Provisioning

Environment Variables
GF_<SECTION_NAME>_<KEY_NAME>

Setting
Default

GF_PATHS_CONFIG
/etc/grafana/grafana.ini

GF_PATHS_DATA
/var/lib/grafana

GF_PATHS_HOME
/usr/share/grafana

GF_PATHS_LOGS
/var/log/grafana

GF_PATHS_PLUGINS
/var/lib/grafana/plugins

GF_PATHS_PROVISIONING
/etc/grafana/provisioning

<IP_ADDRESS>. Datasources

Prometheus Data Source

Files and Folders

datasources.yaml

TODO

apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    uid: prometheus
    access: proxy
    orgId: 1
    url: http://prometheus:9090
    basicAuth: false
    version: 1
    isDefault: false
    editable: true
    jsonData:
      httpMethod: GET

  - name: Alertmanager
    type: alertmanager
    uid: alertmanager
    access: proxy
    orgId: 1
    url: http://alertmanager:9093
    version: 1
    isDefault: false
    editable: true
    jsonData:
      implementation: prometheus
      handleGrafanaManagedAlerts: false

  - name: Loki
    type: loki
    uid: loki
    access: proxy
    orgId: 1
    url: http://loki:3100
    version: 1
    isDefault: false
    editable: true

  - name: Tempo
    type: tempo
    uid: tempo
    access: proxy
    orgId: 1
    url: http://tempo:3200
    basicAuth: false
    version: 1
    apiVersion: 1
    isDefault: true
    editable: true
    jsonData:
      httpMethod: GET
      serviceMap:
        datasourceUid: prometheus

<IP_ADDRESS>. Dashboards

OpenTelemetry Collector

Grafana dashboard to visualize metrics collected by the OpenTelemetry Collector. The OpenTelemetry Collector is a vendor-agnostic implementation that receives, processes, and exports telemetry data.

DORA Metrics

Grafana dashboard to visualize DORA (DevOps Research and Assessment) metrics. DORA metrics are a standard set of DevOps metrics used for evaluating process performance and maturity.

Files and Folders

dashboards.yaml

TODO

apiVersion: 1

providers:
  - name: "Dashboard Provider"
    orgId: 1
    folder: ""
    type: file
    disableDeletion: false
    editable: true
    options:
      path: /var/lib/grafana/dashboards

/dashboards

TODO

/dashboards
├── gitlab.json
├── loki.json
└── node-exporter.json

1.6. Promtail

Files and Folders

promtail-config.yml

In Grafana Promtail, the static_configs and pipeline_stages keyword configurations are used to define the collection and processing of log entries.

static_configs

Defines a list of targets (files or directories) and labels that are statically configured within the scrape_configs section, from which Promtail will continuously collect logs.

Examples and Explanations:
scrape_configs:
  - job_name: system
    static_configs:
      - targets:
          - localhost
        labels:
          job: varlogs
          __path__: /var/log/*log

targets

Specifies the files or directories using patterns like *.log from which logs should be collected.

labels

Allows to attach metadata like job: app_logs to log sources, which can used for querying and filtering logs.

pipeline_stages

Defines the sequence of operations that each log entry processed after being collected by Promtail and before being sent to Loki for querying and visualization in Grafana.
NOTE Pipeline stages are processed sequentially, with each stage perform a different function, such as parsing, labeling, or filtering log lines.

Examples and Explanations:
pipeline_stages:
  - regex:
      expression: '(\w+)\s+(\d+)\s+([^:]+): (.*)'
      source: message
      destination: log_level
  - labels:
      log_level:
        error: '{{.match_1}}'

regex

The regex stage uses a regular expression (expression) to parse the incoming log message (source: message). It captures specific parts of the log message and assigns them to named fields (destination: log_level).

labels

The labels stage then extracts the matched fields (in this case, {{.match_1}} from the regex) and attaches them as labels (log_level) to the log entry.

2. References

Grafana Play page.

Refer #267


PHOENIX-6282 : Generate PB files inline with build and remove checked in files

4.x backport of PR #1035

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 32s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ 4.x Compile Tests _

+0 :ok:
mvndep
4m 47s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
9m 36s
4.x passed

+1 :green_heart:
compile
1m 31s
4.x passed

+1 :green_heart:
checkstyle
6m 40s
4.x passed

+1 :green_heart:
javadoc
2m 21s
4.x passed

+0 :ok:
spotbugs
5m 17s
root in 4.x has 1016 extant spotbugs warnings.

+0 :ok:
spotbugs
3m 28s
phoenix-core in 4.x has 962 extant spotbugs warnings.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 19s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
7m 34s
the patch passed

+1 :green_heart:
compile
1m 48s
the patch passed

+1 :green_heart:
cc
1m 48s
the patch passed

+1 :green_heart:
javac
1m 48s
the patch passed

+1 :green_heart:
checkstyle
0m 38s
root: The patch generated 0 new + 0 unchanged - 19283 fixed = 0 total (was 19283)

-1 :x:
prototool
0m  1s
The patch generated 7 new + 6 unchanged - 0 fixed = 13 total (was 6)

+1 :green_heart:
shellcheck
0m  0s
The patch generated 0 new + 0 unchanged - 9 fixed = 0 total (was 9)

+1 :green_heart:
shelldocs
0m  2s
There were no new shelldocs issues.

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  3s
The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
2m 19s
the patch passed

+1 :green_heart:
spotbugs
9m 18s
the patch passed

_ Other Tests _

-1 :x:
unit
141m 14s
root in the patch failed.

+1 :green_heart:
asflicense
1m 26s
The patch does not generate ASF License warnings.

202m 23s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1036/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1036

Optional Tests
dupname asflicense javac javadoc unit xml compile spotbugs hbaseanti checkstyle cc prototool shellcheck shelldocs

uname
Linux 1b2c55adf039 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / 33bd800

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

prototool
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1036/1/artifact/yetus-general-check/output/diff-patch-prototool.txt

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1036/1/artifact/yetus-general-check/output/patch-unit-root.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1036/1/testReport/

Max. process+thread count
6058 (vs. ulimit of 30000)

modules
C: phoenix-core . U: .

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1036/1/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.7.0 spotbugs=4.1.3 prototool=1.10.0-dev

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


does it support oracle

hi, It is not clear which database this package supports , is that oracle supported because I am getting error under oracle

This package only supports SQL Server and there are no plans to support Oracle.


Developer Meeting: TCP in OpenThread

The OpenThread project will be hosting its first developer meeting on Thursday April 15th.
Topic: Transport Control Protocol (TCP) in OpenThread
Time: Thursday April 15th 08:00 PDT, 11:00 EDT, 15:00 UTC, 17:00 CEST, 23:00 CST.
Agenda

TCP APIs
TCP Implementation

Meeting Info
If you would like to participate in this meeting, please send me your name and email address and I will add you to the calendar invite.

The Doodle poll is now closed. The most voted for time slot was Thursday April 15th 08:00 PDT, 11:00 EDT, 15:00 UTC, 17:00 CEST, 23:00 CST.
If you would like to participate in this meeting, please send me your name and email address and I will add you to the calendar invite.

This is a reminder that this meeting will be held Thursday April 15th 08:00 PDT, 11:00 EDT, 15:00 UTC, 17:00 CEST, 23:00 CST.
If you would like to participate in this meeting, please send me your name and email address and I will add you to the calendar invite.

Here are the slides that I presented at today's meeting: openthread_tcp_design_api.pdf
At the next meeting, I'll present some slides discussing possibilities for TCP implementations, and we'll have a discussion about TCP implementations similar to the one we had today about TCP APIs.

Apologies for missing the presentation and if this was brought up in
person, but the slides mention CoAP doesn't support high-bandwidth
transfers but that isn't entirely accurate. To clarify, RFC 8323
https://tools.ietf.org/html/rfc8323 defines TCP as a transport and is
implemented in projects like libcoap https://github.com/obgm/libcoap.
Additionally, the CoRE working group specified block transfers (RFC 7959
https://tools.ietf.org/html/rfc7959) and newer block types for larger
amounts of data (draft-ietf-core-new-block
https://core-wg.github.io/new-block/draft-ietf-core-new-block.html.)
That being said, support for TCP would be a welcome addition and the
presentation makes a strong case!
Cheers.
On Thu, Apr 15, 2021 at 9:12 AM Sam Kumar @.***> wrote:

Here are the slides that I presented at today's meeting:
openthread_tcp_design_api.pdf
https://github.com/openthread/openthread/files/6319431/openthread_tcp_design_api.pdf
At the next meeting, I'll present some slides discussing possibilities for
TCP implementations, and we'll have a discussion about TCP implementations
similar to the one we had today about TCP APIs.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openthread/openthread/issues/6411#issuecomment-820552831,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABLRSFIHF7GMEA6MDRL4F3TI4F5VANCNFSM42PLYTWA
.

--
Jonathan Beri
linkedin.com/in/jonathanberi https://www.linkedin.com/in/jonathanberi/

Thanks @beriberikix for raising this point. I should clarify that I was referring to UDP-based CoAP since that's the only way that CoAP can be used as an alternative to TCP. I'm aware of the block-transfer protocol in CoAP, but my understanding is that each block must be ACKed before the next block can be sent, meaning that throughput degrades inversely with the network round-trip time. TCP throughput does not degrade in the same way because it allows multiple in-flight segments for a single connection. That's what I was referring to when I said that CoAP has lower throughput.
Thanks for sharing the information about the new "Quick Blocks" feature. I wasn't previously aware of that. I agree that it would allow high-bandwidth CoAP. It uses similar mechanisms as TCP (e.g., multiple packets in flight simultaneously), and I think that it could co-exist with TCP as an option in these networks.


Create a separate page of TV & Electric appliances

Please assign this issue to me

@SanthoshPatkar I will assign you this issue when the DCP will start from 10th July.

@SanthoshPatkar any updates...?

@satyampgt4 almost done.. within 2-3 days I'll send PR

Can you please assign this issue to me if it is still open?

Assign this issue to me so I can design this page.

Assign this issue to me so I can design this page.

@navya-Singla-1-3-0-9 is working on this issue.


Adjust how CLI docs are generated

Description

Make base command flags hidden
Make generated CLI docs wrap at 88 characters such that gitbook does not hide content
Use upstream https://github.com/oclif/dev-cli
Add useful oclif plugins

Other changes
Describe any minor or "drive-by" changes here.
Tested
from misspelled command

from yarn preview

Related issues

Fixes #[issue number here]

Backwards compatibility
Brief explanation of why these changes are/are not backwards compatible.

@yorhodes friendly ping for updates to this PR


Remove GET_VR_DISPLAYS_TIMEOUT since it can lead to false positives

and Chrome 58-60 are no longer in reasonable circulation. Fixes #335
@Artyom17 can you try this out and see if it works for you on Oculus?

thanks @Artyom17, i'll propagate these changes through the polyfills shortly


🐛 Fix bug when cluster is not found

What this PR does / why we need it:
And remove the restrictions on the events triggering the reconciliation
frommetal3dataclaim to catch update events when the deletion timestamp is
set

/cc @kashifest
/cc @fmuyassarov
/cc @furkatgofurov7
/cc @Jaakko-Os

/test-v1a4-integration

/test-v1a4-integration

/test-v1a4-integration


Add: Search engine

Hello,
That jekyll thmes is great. But I wanted to be able to search something on it.
So : i added a minimal buuil-in search-engine.

Thank you for adding the search feature.
However, this feature seems to return only one result.
The problems seems to occur with the displaySearchResults() function in search.js.
appendString = displayPost(store[results[i].ref]);

Can we change this part to :
appendString += displayPost(store[results[i].ref]);

I also added a develop branch for pull requests.
Please send a pull request into the develop branch after taking care of the above issue. 😆


Fix breadcrumb relative paths

 BUG 2.0 linkPaths are broken in relation MobileBreadcrumbButton and BreadcrumbNavigation

@fhenrich33 could you please also fix the test?

@fhenrich33 could you please also fix the test?

@HaGuesto this seems to be a flaky one, as I didn't get to make it break locally.


Error during 'Push Prisma schema to PlanetScale' Section: "server does not allow insecure connections, client must use SSL/TLS"

What type of content do you want to see?
I have followed the instructions almost exactly to this point (using my own branch name and db name, of course) but whenever I run npx prisma db push I get the error shown above,
server does not allow insecure connections, client must use SSL/TLS

I have googled that error, but seldom do the solutions seem to be for PlanetScale / Prisma setups
Is this specific to a language/framework?
Prisma

Hey there @NLanese! Sorry you're having trouble. If you are using a connection string to access the database directly (not through the pscale CLI as described in our docs) you'll need the sslaccept=strict query string appended to the connection string. Here is an example with placeholders that should work:
DATABASE_URL='mysql://<DB_USERNAME>:<DB_PASSWORD>@<DB_HOST>/<DB_NAME>?sslaccept=strict'

Alternately, you can generate a connection string from within the PlanetScale dashboard by clicking the Connect button from the Overview tab and selecting Prisma from the Connect With dropdown.

Let me know if this helps.


Multiple position clause

The constitution currently states it's not allowed to hold multiple executive committee positions. However there is no limits for holding multiple committee positions elsewhere, meaning its possible to be both president and VP simultaneously.

Is it really necessary? In my opinion the fact we're adding new positions to lessen the workload on existing ones indicates that this will lead to disaster.
We're a big enough society that each one of the positions is a full-time requirement.


Add a dedicated error for packages that fail due to distutils deprecation

Summary
Closes https://github.com/astral-sh/uv/issues/7183.
Test Plan

closes #204,, right?


Enforcement status of host policies is incorrect

Once host policies are loaded, they are always reported as Enforced in kubectl describe ccnp ..., regardless of whether they match the labels of the given node or whether the host firewall is disabled.
How to reproduce the issue

kubectl create -f examples/policies/host/lock-down-ingress.yaml
kubectl describe ccnp lock-down-ingress

$ kubectl describe ccnp lock-down-ingress | tail -n 15
      Type:  ingress-worker
Status:
  Nodes:
    k8s1:
      Enforcing:              true
      Last Updated:           2020-07-20T12:36:15.097795504Z
      Local Policy Revision:  4
      Ok:                     true
    k8s2:
      Enforcing:              true
      Last Updated:           2020-07-20T12:36:15.094067967Z
      Local Policy Revision:  4
      Ok:                     true
Events:                       <none>

If the host firewall is disabled or if the policy doesn't match the labels of the node, Enforcing should be false.

@pchaigno The logic should not be the one that what you are expecting. Similarly, a CNP will state "Enforcing: true" even if there are not endpoints that are being selected by such policy. The "Enforcing: true" field represents that a policy is currently being enforced in the agent, i.e., it's acknowledged in the datapath regardless of its selection.

@aanm I see. Thanks for the clarification. Would it still make sense to report false if the host firewall is disabled?

@pchaigno it won't be worth it, for example, a single CCNP can have multiple policy rules in it and only one of those rules be a host network policy, should "Enforce" be set to true or false?

AFAIK, a CCNP cannot have both host policies and pod policies because you can only have one of nodeSelector or endpointSelector.


fix(tenant): make storage pass tenant tests

Contains a huge refactor for removing opPrefix in tests.
There was a TODO about it.
@lyondhill do you think the tests are ok?
I relaxed some assumptions, because I thought about it more and.. That's what I came up with 👍

@lyondhill added comments just to review this easily 👍
Hope it helps

@lyondhill I think I addressed you comments in the last commit 👍


response for coban devices

Hi,
When I send this to the device:
**,imei:868166054696190,111
device will send this response: (it will be shown in the server log file.)
imei:868166054696190,111,240112185257,,F,152257.000,A,3531.37056,N,04610.27195,E,,,,0,0,0.00%,,;
But it doesn't show in response for the request.
Thanks.

I have the log:
[2024-01-12 15:19:01.996 +00:00] [INFO] [65a1334972be2] [WRITE] **,imei:868166056076334,111
[2024-01-12 15:19:03.714 +00:00] [INFO] [65a1334972be2] [READ] imei:868166056076334,511,240112151902,,F,151902.000,A,3528.51503,N,04611.84315,E,,,,0,1,0.00%,,;

Write is from server to device and read is from device to server.
I wil check it.

for enabling arm will return 111 but if car is turned on and it won't enable and will return 511

Added message response check for Coban devices.

Hi, Yeah I've tested it and works. Thanks!


remove janky deprecation

Codecov Report

Merging #19 (7874949) into main (ae784dd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   87.76%   87.76%
=======================================
  Files           1        1
  Lines         139      139
=======================================
  Hits          122      122
  Misses         17       17

Files
Coverage Δ

src/Extents.jl
87.76% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


fieldTransform doesn't work with asynchronously loaded fields

Hi, I'm trying to make use of the fieldTransform option. But it doesn't seem to work with asynchronously loaded fields.
My fieldTransform function is only invoked with an empty array [] (initial value), later when the actual data is fetched, formly directly tries to use it without transforming it first (of course it causes errors complaining that the data structure is incorrect).
For some reason I'm not able to save the JSBin (the save request stays in pending state) right  now, I'll add one when I switch from this network.
Reproducing this is very easy, just add
 formlyConfig.extras.fieldTransform.push(function(fields,model){
     console.log(fields); // prints [ ]  once
     return model;
 });

to the official json-powered example and we can see that the fieldTransform function doesn't trigger when the actual data is received.
Shouldn't we be passing the data to fieldTransform functions on model changes before using it?  or am I doing something wrong?

You should hide your form behind  ng-if="vm.fields.length" which will prevent Angular from compiling the form until your fields have loaded.

Yea that'd do it. But what if I'm pushing fields dynamically..? I'm not sure if that is supported, so to be on the safer side for now I added the transformation logic in the service that fetches data.

Yeah, adding fields dynamically isn't well supported. Best to have them all at compile time and hide the ones that shouldn't be showing.


Decouple sending WebHooks from the user

http://blogs.msdn.com/b/webdev/archive/2015/09/15/sending-webhooks-with-asp-net-webhooks-preview.aspx

Note that we only want WebHooks to be sent to the current user. That is, we don’t want user A’s events going to user B and vice versa. This means that to generate an event we must have a valid user ID. In the case of the controllers we do this by ensuring that the user is authenticated using the [Authorize] attribute.

There are certainly use cases where this coupling makes sense but i think it does not in most cases.
Simplest example would be posting a PR to this repo. It would trigger a webhook which sends a notification to the dnfclas bot to check wether the CLA is already signed. The current implementation would only allow to send this webhook to myself in case i've registered a WebHook here.
I've currently work arounded this for me by getting the IWebHookManager from DI and using the NotifyAsync methods which allows passing a userId. I then use "*" as user which is special cased in my EFWebHookStore to just return all WebHooks independently from the user which works... but you know, this is fairly not how it's supposed to be done.
It would greatly enhance the usefulness if this use case is respected in its design.

Good point -- and support is now added :) Check it out in dev branch: 6523bb08c502eaef2bc6fe5b88219b4740eaa552

Thanks, looks good :+1:


aliging these from 1.11 version

Writer's Quality Checklist
Before merging your PR, did you:

[ ] Run spell checker
[ ] Run link checker to check for broken xrefs
[ ] Check for orphan files
[ ] Perform a local build and do a final visual check of your content, including checking for:

Broken images
Dead links
Correct rendering of partials if they are used in your content
Formatting issues, such as:

Misnumbered ordered lists (steps) or incorrectly nested unordered lists
Messed up tables
Proper indentation
Correct header levels

[ ] Receive final review and signoff from:

Technical SME
Product Manager
Editor or peer reviewer
Reporter, if this content is in response to a reported issue (internal or external feedback)

[ ] If applicable, verify that the software actually got released

these perf statements will be updated soon, so closing this in lieu of those impending updates.


How to use dynamic variable size on multiple dimension?

Hi, I'm trying to use trtis for serving instance segmentation now.
But there is a problem with multiple dynamic variable size in detection masks.
Currently, It is built on docker-compose with nvcr.io/nvidia/tensorrtserver:19.10-py3 and here is my part of config.pbtxt
output [
  {   # This part
    name: "output_detection_masks__0"
    data_type: TYPE_BOOL
    dims: [ -1, -1, -1 ]
  },
  {
    name: "output_detection_classes__1"
    data_type: TYPE_INT64
    dims: [ 1 ]
    reshape: { shape: [ ] }
  },
  {
    name: "output_detection_scores__2"
    data_type: TYPE_FP32
    dims: [ 1 ]
    reshape: { shape: [ ] }
  }
]

where output_detection_masks__0 returns ( # detected objects, h, w) shape tensor. (they always have a different shape.)
tensorrtserver.api.InferenceServerException: [inference:0 21] output 'output_detection_masks__0' for model 'solov2' has shape [427,640] but model configuration specifies shape [-1,-1,-1]

tensorrtserver.api.InferenceServerException: [inference:0 21] unexpected shape for output 'output_detection_masks__0', model configuration shape is [1,-1,-1], inference shape is [100,427,640]

I've tried several combinations ([1, 1, 1] with reshape([]), [-1, 1, 1] with reshape([]).. ) with --strict-model-config=false option, but couldn't figure it out.
Any help?

Please include the entire configuration file.
Based on the tensor names it seems like you have a pytorch/torchscript model. As you found --strict-model-config=false can't do much with that framework because the model file doesn't have sufficient meta-data.
Can you try 20.03. We did fix some issues with pytorch in recent releases. Note that you should make sure that the version of pytorch you are using matches the version in Triton. You can find that information in the Triton release notes.

I should have considered the batch dimensions of output tensor.
Solved now.


Remove Firefox instructions

Chrome Store Foxified is dead (https://github.com/Noitidart/Chrome-Store-Foxified/issues/122)

This should be merged

Coming back soon!
https://github.com/Noitidart/Chrome-Store-Foxified/issues/122#issuecomment-495974890


Migrate Azerbaijan holidays to holiday groups

Proposed change

Migrate Azerbaijan holidays to holiday_groups standard.
Type of change

[ ] New country/market holidays support (thank you!)
[ ] Supported country/market holidays update (calendar discrepancy fix, localization)
[x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency upgrade (version update)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] This PR is filed against beta branch of the repository
[x] This PR doesn't contain any merge conflicts and has clean commit history
[x] The code style looks good: make pre-commit
[x] All tests pass locally: make test, make tox (we strongly encourage adding tests to your code)
[x] The related documentation has been added/updated (check off the box for free if no updates is required)

Coverage: 99.963% (-2.0e-05%) from 99.963% when pulling 243cafa21ff121a1d37392c697ed7005bbe972b9 on KJhellico:ref-azerbaijan into 668e2a706c6144342e070611624bca8e977cc950 on dr-prodigy:beta.


Fix UI import statement

My bad! I botched the import on Mobiledoc.UI. I had a bit of a challenge trying to verify this in your dev env while being unfamiliar with Broccoli and Ember, do you mind checking it before you ship this patch? Thanks!

@joshfrench No worries. This looks right to me. I will test it out more fully later but can release a beta now.

@joshfrench This is released on v0.10.11-beta.1 if you want to make sure it works now for you.

The beta works for me, thanks and sorry for that. I just pushed another commit to this branch that exposes UI, Range, and Position as named imports in addition to Editor, if you feel like grabbing that as well. (Otherwise they remain available at Mobiledoc.default.*)

Cool, yeah, I'm pulling that in on #493. thanks!

released in v0.10.11

Thanks Cory!


Script tag insertion logic

Hi, I understand that we need these  tags inserted on ng build; I'm wondering though if there is a way to inject them in a specified location in the index file (e.g., with a ${ng:script} token or html comment).
The use case here is I'm building an angular.io web-app for a Craft Plugin, running within a twig partial file that does not have a traditional DOM structure (no html/head/body because those are in the base layout defined in the CraftCMS). So what's happening is that the five or so  tags are injecting on the first line of the file, but because that's an illegal region for html content here, the twig rendering is breaking (it has to happen between {%content%} block tags in the doc). I'm sure I can write an auxiliary task or something to find and move that snippet or just import my angular "index" file as a partial into a parent template. But I'm wondering if there is a better way to achieve this? Thanks!
From earlier issue:
What's the use case? Could you also help us understand why you don't want these scripts? Do you plan to add them manually in your HTML?
Originally posted by @alexeagle in https://github.com/angular/angular-cli/issues/11816#issuecomment-412136240

Hi @spencech-upbeat, currently the index file needs to be a valid HTML5 document, which at the very minimum should contain a head and body tag. The main reason for this is that we read the index document as AST and not plain text, for the reason to be able to inject scripts, base href, stylesheets, icons, etc.. in the right order if other tags are present.
In addition to that, some features also rely on the fact that the index.html is "static" such as the Service Worker and App Shell.
As per https://github.com/angular/angular-cli/issues/11816 we should allow the index file to be optional. However, in such case I think it should be up to the users to generate the script/style tag since we cannot really create tags for each templating engines since each engine might require different syntaxes.  For example .NET and Razor requires paths to be prefixed with a ~/.
Currently it's not in scope of the CLI to officially support templating engines. Thus, auxiliary steps or 3rd party builders are required.

Makes sense thanks, I've got a decent solution in place, so all's well that ends well. If it's relevant for any other CraftCMS devs, I just set routing to ignore the index file created by angular.io and used asset bundles to load the scripts that angular-cli injects.


terraform/nixos-rebuild: do not ignore deploy errors by default

Add option to ignore systemd errors during deployment.

bors merge


central analyzer doesn't use our mirror, and maven central is often overloaded

We have configured the OWASP dependency check to run as part of our build process with maven, but it often fails the build due to not being able to contact maven central.
It seems to contact maven central even if we have our own nexus server configured in a  block in the pom file.
The relevant part of the log is:
[ERROR] Could not connect to Central search. Analysis failed.
java.io.IOException: Finally failed connecting to Central search. Giving up after 5 tries.
    at org.owasp.dependencycheck.analyzer.CentralAnalyzer.fetchMavenArtifacts (CentralAnalyzer.java:288)
    at org.owasp.dependencycheck.analyzer.CentralAnalyzer.analyzeDependency (CentralAnalyzer.java:198)
    at org.owasp.dependencycheck.analyzer.AbstractAnalyzer.analyze (AbstractAnalyzer.java:136)
    at org.owasp.dependencycheck.AnalysisTask.call (AnalysisTask.java:88)
    at org.owasp.dependencycheck.AnalysisTask.call (AnalysisTask.java:37)
    at java.util.concurrent.FutureTask.run (FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624)
    at java.lang.Thread.run (Thread.java:748)
Caused by: java.io.IOException: Could not connect to MavenCentral (503): Service Unavailable: Back-end server is at capacity
    at org.owasp.dependencycheck.data.central.CentralSearch.searchSha1 (CentralSearch.java:194)
    at org.owasp.dependencycheck.analyzer.CentralAnalyzer.fetchMavenArtifacts (CentralAnalyzer.java:266)
    at org.owasp.dependencycheck.analyzer.CentralAnalyzer.analyzeDependency (CentralAnalyzer.java:198)
    at org.owasp.dependencycheck.analyzer.AbstractAnalyzer.analyze (AbstractAnalyzer.java:136)
    at org.owasp.dependencycheck.AnalysisTask.call (AnalysisTask.java:88)
    at org.owasp.dependencycheck.AnalysisTask.call (AnalysisTask.java:37)
    at java.util.concurrent.FutureTask.run (FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624)
    at java.lang.Thread.run (Thread.java:748)

Same problem using dependency-check-maven 3.1.2 since two days.

Same issue here. Maven central appears to be quite flaky the last few days.
It appears that the URL that it looks at is configurable via the analyzer.central.url application property.
I use the Maven plugin and this property isn't exposed via the Maven Mojo configuration options.
But if I run:
mvn clean install -Danalyzer.central.url=http://i.dont.exist.com

then I get the failure Caused by: java.net.UnknownHostException: i.dont.exist.com which shows its using the property when running the central analyzer.
Hopefully this helps you point it at your mirror.

For use with a Nexus mirror there is the NexusAnalyzer, which disables the Central analyzer:
https://jeremylong.github.io/DependencyCheck/analyzers/nexus-analyzer.html
its usage with maven is documented on the maven plugin configuration page:
https://jeremylong.github.io/DependencyCheck/dependency-check-maven/configuration.html
in my experience setting nexusUrl to http(s)://<nexus-host>:<nexus-port>/<nexus-context-path>/service/local even works for Nexus OSS v2 (not only for Nexus Pro as documented in DependencyCheck's configuration).
If nexusUrl is NOT defined the NexusAnalyzer will disable itself. on the other hand if nexusUrl is defined NexusAnalyzer will run and will disable the Central Analyzer (as they are essentially performing the same function: try to resolve the artifact in the Maven repository by searching for a sha1 hash match).

If you are using Maven or Gradle the benefits of the Central analyzer are negligible.  I would suggest disabling it if using Maven. I am considering making the default for the maven and gradle plugins that the Central Analyzer is disabled.

@alexanderkjall can you provide your configuration?

And if we can not use the maven plugins and we get this error, what solution do you propose?
We can not disable Central Analyzer because we would get different results in incomplete

@jeremylong  Sorry for the late reply, here is my configuration:
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
                <version>3.1.2</version>
                <configuration>
                    <suppressionFiles>
                        <suppressionFile>suppression.xml</suppressionFile>
                    </suppressionFiles>
                    <format>XML</format>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

@alexanderkjall I misread your original question. Dependency-check will always use the Central APIs regardless of setting up an internal repository within the pom.xml. Not all repositories have the same APIs available. If you are using Nexus 2.0 or Nexus 3.0 Pro you can likely switch to using the NexusAnalyzer (see configuration here).
That being said, in the next release of dependency-check the CentralAnalyzer is going to be disabled by default for both the Maven and Gradle plugins. Very little is gained by having this enabled for Maven and Gradle projects.

Very little is gained by having this enabled for Maven and Gradle projects
@jeremylong Could you elaborate a bit about that? What is gained and what is lost by disabling the central analyzer?
Do youy if it is planned to implement an Artifactory analyzer?

@jeremylong I don't think it will work with nexus 3 as there is no /service/local api any longer: https://issues.sonatype.org/browse/NEXUS-11894

@jeremylong It was my understanding the Nexus Pro 3 still had the API.
@nhenneaux the GAV is collected as product/vendor/version evidence from the dependency management framework instead of from Maven Central. Also, if the dependency is found (via hash) to be contained in Central the HTML report will have a green check indicating it is a published version.  With regards to Artifactory - it has been a long standing request. However, if you are using Maven or Gradle very little would be gained.

@jeremylong I understand the way the plugin is working but what do you mean by "very little would be gained"? What is the gain? As far as I understood the sha1 is not checked by Maven (or Graddle) after the download of an artifact. The dependency check plugin then checks there was no one in the middle to change the artifact. Am I missing something?

The hash check to central could be used to check for MiTM attacks (it shows up as a green check in the HTML report); but in reality this is more a side affect of the original intention of the Central Analyzer. More importantly, if the GAV information is not available (i.e. you were using the CLI) and the pom.xml was not available - the CentralAnalyzer would add the GAV information.  Thus, very little is gained as the Maven plugin already has the GAV information.

@jeremylong And if we not use the maven plugin and we get this error, what solution do you propose?
We can't disable it because we would get different and incomplete results. If I remove from \META-INF\services\org.owasp.dependencycheck.analyzer.Analyzer: org.owasp.dependencycheck.analyzer.CentralAnalyzer I get differents results

Consider setting up a Squid proxy to cache the maven results longer term...  I've been toying around with a docker image to do this - but I haven't made a ton of headway due to other priorities.

I've tried looking for other services that can take a hash of a JAR and return the coordinates (GAV, etc.) - but I haven't found anything better yet.

Thank you, it would be very interesting to integrate with artifactory (we use it as internal repository)
If you see another service similar to maven central, please, let me know

@jeremylong Have you recently looked into Artifactory's  useability from DepCheck? If not I'm offering to take a look. Their issue-tracker indicates that hash-search for artifacts is implemented in their REST API since end of 2010 (https://www.jfrog.com/jira/browse/RTFACT-3676).

@aikebah sure - PRs are always welcome. See #60 - a little thought has gone into it. However, no code has been written.  There might be something useful in the bintray branch - specifically around trying to convert the path into actual coordinates...


Closing a persistent cache manager leaks a file descriptor

Using this test application:
import org.ehcache.Cache;
import org.ehcache.CachePersistenceException;
import org.ehcache.PersistentCacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ExpiryPolicyBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.config.units.EntryUnit;
import org.ehcache.config.units.MemoryUnit;

import java.io.File;

public class Main {
    public static void main(String[] args) throws CachePersistenceException {
        PersistentCacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
                .with(CacheManagerBuilder
                        .persistence(new File("/tmp/ehcache_test")))
                .withCache("my_cache",
                        CacheConfigurationBuilder
                                .newCacheConfigurationBuilder(String.class, String.class,
                                        ResourcePoolsBuilder.newResourcePoolsBuilder()
                                                .heap(10, EntryUnit.ENTRIES)
                                                .disk(32, MemoryUnit.KB, true)) // Ehcache minimal needs
                                .withExpiry(ExpiryPolicyBuilder.noExpiration()))
                .build(true);

        Cache<String, String> cache = cacheManager.getCache("my_cache", String.class, String.class);

        cache.put("my_key", "my_value");

        String actual_value = cache.get("my_key");

        if (!actual_value.equals("my_value")) {
            System.err.println("Wrong actual value: " + actual_value);
            System.exit(-1);
        }

        cacheManager.close();
        cacheManager.destroy();

        System.out.println("Closed everything: done");
    }
}

I run this in a debugger and put a breakpoint on the final line (the System.out ...).  While the process is suspended in this breakpoint, I list the file descriptors that the process has in use.  I see that one file descriptor for the cache is still open.    It seems that destroy does not close all file descriptors.

I would be good to get a heap dump of the JVM when in this state to confirm. I'm pretty confident however that what you're seeing is a un-GC'ed (but unreachable) MappedByteBuffer. Until the JVM GC's the heap it's not practical to clear these.

I modified the test by adding an explicit GC call:
...
        cacheManager.close();
        cacheManager.destroy();

        System.gc();

        System.out.println("Closed everything: done");
...

I put my breakpoint at the System.out.  Linux still claims there's an open file (that is deleted by the destroy call):
lsof -p 31097 | grep my_cache
java    31097 mchristi  DEL    REG               0,38             859531 /tmp/ehcache_test/file/my_cache_fa0f3c6d3242cb1f02e8ea878be8b47996b0b8f8/offheap-disk-store/ehcache-disk-store.data

I took a heap dump at this point:
dump.hprof.gz

I suspect this is the stack trace where the file is allocated:
java.io.RandomAccessFile.open(String, int) RandomAccessFile.java
java.io.RandomAccessFile.<init>(File, String) RandomAccessFile.java:243
org.ehcache.impl.persistence.DefaultLocalPersistenceService.internalStart() DefaultLocalPersistenceService.java:87
org.ehcache.impl.persistence.DefaultLocalPersistenceService.start(ServiceProvider) DefaultLocalPersistenceService.java:75
org.ehcache.core.spi.ServiceLocator.startAllServices() ServiceLocator.java:128
org.ehcache.core.EhcacheManager.init() EhcacheManager.java:577
org.ehcache.config.builders.CacheManagerBuilder.build(boolean) CacheManagerBuilder.java:75

The trace you reference is the lock file... 100% it's not that. I still think my first instinct is right... that this a remnant memory mapped file. The DEL in the FD descriptor in the lsof output indicates that this is for a memory mapped file that has been deleted. I suspect it's not in the heap dump because you've only included reachables... when what we want is everything in the dump including objects that are not reachable or not yet GC'ed. I also suspect that if you pull the VM to a safepoint with the debugger immediately after calling System.gc() you may also interfere with the freeing of these buffers. I would try the following: System.gc() in a loop with a 2 second sleep in between, and then a watch lsof -p <pid> in another shell. If the file descriptor stays open then we may still have a problem. In that case grab a heap dump from the running JVM that includes unreachable objects.

I've changed the test to perform the GC in a loop as you suggested and indeed, the file descriptor disappears.
The reason why I'm investigating this is that we have a unit test that creates a cache and afterwards needs to remove the cache (by wiping the entire folder of the cache).  This fails on Windows because a file is in use.  Do you know of an elegant way to remove the entire folder without resorting to repeatedly GC-ing?

Generally I would encourage you to avoid reusing the same path, but if thats is unavoidable or unworkable then rhere is a utility now used in Ehcache (but not in a released version) that handles this: https://github.com/Terracotta-OSS/terracotta-utilities/blob/master/tools/src/main/java/org/terracotta/utilities/io/Files.java
It works by renaming the file/directory and then attempting to delete it. If the delete of the renamed files fails it hands the delete off to a background worker to delete the file at a later date. The rename will still guarantee that the path is available for reuse though, so it 'looks' like the delete works immediately either way. Available from maven central as: org.terracotta:terracotta-utilities-tools:0.0.5

Thanks for all the suggestions!


pre-compilation of messages

Module versions
@intlify/vue-i18n-loader: ^4.0.0
@vue/cli-plugin-babel: ^5.0.0-rc.0
@vue/cli-service: ^5.0.0-rc.0
vue-cli-plugin-i18n: ~2.3.1
vue-i18n: ^9.1.9
Config
vue.config.js:
module.exports = {
    pluginOptions: {
        i18n: {
            locale: "de",
            fallbackLocale: "en",
            localeDir: "locales",
            enableLegacy: false,
            runtimeOnly: true,
            compositionOnly: false,
            fullInstall: true,
        },
    },

    chainWebpack: (config) => {
        config.module
            .rule("i18n")
            .resourceQuery(/blockType=i18n/)
            .type("javascript/auto")
            .use("i18n")
            .loader("@intlify/vue-i18n-loader")
            .end();
    },
};

i18n.ts:
import { createI18n } from 'vue-i18n';
import locales from './locales';

export default createI18n({
    legacy: true,
    locale: 'en',
    fallbackLocale: 'en',
    sharedMessages: locales,
});

Description
So I've ran into Content-Security setting problems and noticed, that I have to set runtimeOnly to true. But now I'm getting many errors like this:
[intlify] The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return 'my-string'.

I've searched for this issue and found out, that I have to set an alias for webpack. But I thought I dont need to do that, because I am using the vue cli plugin. Additionally according to https://vue-i18n-next.intlify.dev/installation.html#with-a-bundler @intlify/vue-i18n-loader already precompiles the messages. So how to solve this?

Thank you for your reporting!
I tried to reproduce using vue-cli, so, unfortunately, I could not this issue. :disappointed:
From your reporting, it looks like you are using the config chainWebpack to configure it.
As mentioned in the readme, vue-cli-plugin-i18n is a plugin for vue-cli.
This plugin, @intlify/vue-i18n-loader, is built-in and configured as well.

Thank you for your answer!
I reproduced this here → https://github.com/Zauberbutter/vue-i18n-test
I think it could be, that I'm using sharedMessages with just a typescript file, which doesn't get compiled.

Thank you for your quick reply and giving repo!
I'll try to reproduce it!

I think it could be, that I'm using sharedMessages with just a typescript file, which doesn't get compiled.

Yes! You need to use messages options at createI18n function

Get Started: https://vue-i18n.intlify.dev/guide/
API ref: https://vue-i18n.intlify.dev/api/composition.html#messages

Ok! And what is sharedMessages for?

You can see the docs
https://kazupon.github.io/vue-i18n/guide/component.html#shared-locale-messages-for-components
sharedMessages is useful if you are handling messages on a per-component (i.e. local) basis, rather than globally.

Okay. Well I forgot that I'm using the SFC  tag in the components too.

So I'm using <i18n> blocks too, so i thought I need to use sharedMessages. I think the use case for sharedMessages should be better explained in the docs.
Now that I'm using the loadLocaleMessages function together with JSON files in /locales it's working. But I'm getting an warning for each key that isn't in local scope. Just like in https://github.com/intlify/vue-cli-plugin-i18n/issues/191
But it is working nevertheless.

Thank you for your feedback!
I'll add the sharedMessages to docs later!
Happy coding! :)


The vararg methods in RequestContext should require one argument.

https://github.com/paypal/squbs/blob/0397d3cc115ba97492c988a76e45f9eb9c5b4fbd/squbs-pipeline/src/main/scala/org/squbs/pipeline/RequestContext.scala#L63
Basically, this shouldn't compile:
requestContext.withResponseHeaders()

I tried to quickly address this, but the deprecation is a tad tricky:P

I spoke with some people and 2 valid issues were raised.  First, having a required argument will make this weird to use with list->vararg expansion.  Second, there are some performance implications regarding Map/List creation + appends.


[WIP] fix unrendered links in PDF

fixes #1712

OK seems fixed
will clean up

things look good now

Is that a normal amount of white space? Is it worth collapsing more than two newlines down to two?

Is that a normal amount of white space? Is it worth collapsing more than two newlines down to two?

Do you mean below the white space below the Genetic Descriptor heading?

Yes.

pretty sure it has nothing to do with this PR:
see the PDF of our latest release
https://github.com/bids-standard/bids-specification-pdf-releases/blob/main/bids-spec.pdf

if you say that we should make that gap a tad smaller in another PR, then you have my sword and my bow and my axe.

No worries. Just noticing that your test had some extra newlines and making sure that they aren't causing visual artifacts.


npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

Good morning my friends
I am trying to install the tool but the following error is being returned.
In the container there is only 1 library, the rekit was successfully installed, but when I try to install rekit-studio the error is returned.
Step 29/31 : RUN npm install -g rekit-studio
 ---> Running in 9bfb664707cf
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! notsup Valid OS:    darwin
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   linux
npm ERR! notsup Actual Arch: x64

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/codespace/.npm/_logs/2021-08-31T23_50_13_371Z-debug.log
The command '/bin/sh -c npm install -g rekit-studio' returned a non-zero code: 1

Thank you in advance if you can help
Tested on
$ node --version
v12.22.5
$ node --version
v14.17.4

Same for me, but on win32 x64.  fsevents is a Mac only package that I notice in some Cordova builds I've done on Windows is omitted.
I have done "npm install --global --production windows-build-tools".
Running node 8.17.0 (tried 14 and 16, but fell back to 8 due to https://github.com/rekit/rekit-studio/issues/6)

So NPM says rekit-studio has a dependency of fsevents (https://www.npmjs.com/package/rekit-studio?activeTab=dependencies).
Although I don't see it in (https://github.com/rekit/rekit-studio/blob/master/package.json).
This is a MacOS only package which belongs in the package.json object optionalDependencies, according to stackoverflow like so:
"optionalDependencies": {
"fsevents": "2.1.2"
},


Create a tool to auto generate Attributions.txt files - and eliminate a tedious error prone task

The Attrubutions.txt file should include all imported packages and libraries. The automated build tests not code coverage tests catch omissions. Would be nice to ensure that these files are kept up to date by auto-generating them whenever any imports change in go.mod files.

Recommend we close this one. I agree it would be nice to have a tool like this but that could be an open source project all on its own. I don't know that it's necessarily a core component of the EdgeX platform.

Closed.


MacOS Binary Crashes When Saving Tags

MacOS 1.3.0 (2022-02-21) release crashes when saving tags. Was able to circumvent most crashes by replacing some characters I found to be outside of UTF-8 and ASCII character sets in the Notes/Comments field and accented characters in Credits entries:

’ with ASCII-friendly '
ú to u
— to -

However this doesn't always work....maybe there are more characters that are crashing the app in other fields? I wasn't able to find any in the other tag fields. Wondering if there is a character encoding issue with the language the app was compiled in vs what the OS it is running on?

Well when trying to re-produce the issue I got it to crash once but it won't crash any more and so there's not much I can do right now.
also a nitpick UTF-8 is an encoding of unicode which all of these characters are defined in, these characters are only outside of ASCII.

I'm seeing the same issue with MacOS version 1.3.0. Only seems to happen with the ComicRack tags, so it's possibly somehow related to the xml file insert? I had reverted to version 1.2.3, which was successfully able to save tags to all my problem files, but as of a day or two ago that has started reporting "Could not connect to Comic Vine to search for series!" so is no use any more. (API key is fine, and works in both ComicTagger 1.3.0 and YACReaderLibrary.)
I don't know if it's any use for you to know specific ComicVine data that's triggering the issue, but here are a few of the comics I've had crashes with:
Daredevil (2019) #10, 16, 17 - all for George Fornés, saving is fine if I change é to e.
Daredevil (2019) #34 - David López, again ó to o saves okay
Daredevil (2019) #20 - some combination of smart ", ' or ...
Daredevil (2019) #36 - em dash
At the moment I'm copying and pasting the content of the notes/comments field to a text editor and doing global replaces on all of the suspect characters I've found before pasting it back, but I'd say that it's crashing about 50% of the time on the set of comics I'm working on at the moment, and like @tacotruffles there are some issues where I just haven't been able to identify the cause. I've had to retype at least one comment entirely from scratch in order to get it to work, and the successful end result didn't look any different to what I started with.
I have also created the XML by hand myself, and it can read it okay, but crashes if I then try to re-save the CR tags.
I hope that helps in identifying the cause!

@msarrowette Thanks for digging deeper. To confirm what you've found...I didn't make much fuss over this when I downgraded to version 1.2.3...but now that version is saying that my API key is in valid and refuses to connect to Comic Vine.
With version 1.3.0...it still connects fine but the CR tag crash on write issue is still something to deal with. I've also found that in the Credits section...if any of the names have an accented character CR crashes...so not only in the comments but also replacing characters in any names with an unaccented character has been a pretty much the workaround I've been using to keep 1.3.0 from crashing. Not fun when tagging an entire series but for now I can at least tag new releases as they come in.

@tacotruffles @msarrowette
Found the cause of this. I accidentally left a print statement in for testing.
macOS does not set any locale environment variables when launching a .app from finder which makes Python default to ascii. Then to make things even more complicated Terminal sets those variables making it very annoying to track down.
As a work around, until I figure out how to make python import statements to do what I want, you can run open /path/to/ComicTagger.app from the terminal app and run an auto-tag with all of your comics or run /path/to/ComicTagger.app/Contents/MacOS/comictagger -R -o -t CR -s /folder/with/comics and either should work

can either of you verify that the build here works normally?
https://github.com/comictagger/comictagger/actions/runs/2011348073

@lordwelch I've also been having issues with these crashes & can confirm that this new build runs through all of my previously problematic files I had with no issue at all.

@lordwelch - Don't have much time to do extensive testing today, but I've wiped tags, re-pulled data from ComicVine, and retagged all the comics I used as examples, as well as a number of others I was having crashes with and hadn't fixed, and all now save OK. New build is working for me.

@lordwelch Thanks for the command line instructions. Working!


32 encryption is limited by size of state

This replaces wezterm.run_child_process with luas buildin io.popen such that it is possible to write to stdin, i.e. omitting the need for temp files and hopefully making it possible to encrypt large states

I tested it on linux with having 5+ panes with a filled scrollback by using the following command:
for i in {1..1000}; do
  ls
done

@joncrangle Are you able to test Mac and Windows?

Will update the readme if this approach works on Mac and Windows

I tested it on linux with having 5+ panes with a filled scrollback by using the following command:
for i in {1..1000}; do
  ls
done

It worked fine on linux, but loading and saving the state was very slow, so I think it would be great to add this suggestion of having a user defined limit on the number of lines saved @joncrangle Are you able to test Mac and Windows?

I've tested this new approach and it's working on Windows. In PR - 35 I'm wrapping io.popen in a pcall so that I can emit events and return success from encrypt. In decrypt, I'm emitting events and returning the result of the pcall (json_data) if it is successful. I Will test on Mac later.

On Mac, I experienced some weird issues.
The good news is that the popen function you provided works for the encrypt function, but I could not get it to work for the decrypt function. It's mixed, but I think good news, because I never experienced this bug on decrypt. I don't think the OS's treat stdout as part of the command length, and they probably just create a reader for it (just a guess).
When I dug further, I found that when Wezterm uses popen to read to stdout it would not resolve the correct PATH environment variables from my system no matter what I did. It couldn't find the age binary without me explicitly providing its full path in the cmd. I've got age installed with homebrew, and I've got /opt/homebew/bin in my system path. I was able to decrypt default.json from the terminal using the identical cmd, but just not from within the Wezterm process.
I confirmed in multiple terminals and different shells (native Mac zsh, bash, Homebrew-installed zsh) that my PATH was correctly setup. I also confirmed in my Lua interpreter that Lua was able to use the correct system PATH vars with print(os.getenv 'PATH').
I also followed the Wezterm docs to explicitly set the PATH var using:
config.set_environment_variables = {
  PATH = wezterm.home_dir .. '/opt/homebrew/bin:' .. os.getenv 'PATH',
  },

But this didn't work either. Logging of PATH still wouldn't resolve the correct values. I ended up reverting the decrypt function to use wezterm.run_child_process using your execute_shell_cmd function and it's working well. I plan to test it again in Windows tomorrow to confirm.
It's very strange, and a bit confusing since the encrypt/decrypt functions are pretty much mirror images of each other, but that's what I found 😕

That sounds really strange that it worked for the encryption but not for the decryption. Did you have a successful encryption and an unsuccessful decryption within the same Wezterm process instance?
If possible, then I would like to use popen for both decryption and encryption, as it is more "clean" compared to the sh -c hack that is used with run_child_process. I have pushed a commit where i include the path in the decryption, hopefully that would fix the issue. I have tested on linux and it works just as before

I have also ran a limited test on windows by encrypting state using the periodic encryption and then decrypting using wezterm.plugin.require("https://github.com/MLFlexer/resurrect.wezterm").load_state("~", "workspace") in the debug overlay and it returned the decrypted json.

I have however notices that a window pops up when the encryption runs on Windows, is that something you have noticed aswell? @joncrangle

I've had the exact same issue on my config on windows sravioli/wezterm#8. I solved the issue by caching values in a temp file. This has of course its downsides but it fixed the popup windows on Windows 10 and 11.

Thanks for your suggestion, but i unfortunetly don't Think it will work as for this usecase (encrypting/decrypting files) as the output should ideally change at every Call, so caching it would not be viable. Another issue is that the output should ideally never become a plaintext file on the users machine as that can be a security concern.

I have however notices that a window pops up when the encryption runs on Windows, is that something you have noticed aswell? @joncrangle
Reading about it online it seems to only affect certain windows versions and it does not seem to be something that can be solved trivially without adding a new lua API in wezterm which allows writing/reading to stdin/out/err... here is why it does not happend for the run_child_process.

Yes - I've also noticed a quick popup on Windows that closes after the process finishes.
On Mac, I had tried adding PATH to the cmd without success. Later when I have some time I will try symlinking age to /usr/local/bin to see if that can resolve the issue on Mac.

Again thank you for your thorough investigation, i really appreciate your work! The plugin would not have gotten all these issues resolved without your help! That sounds really strange that it worked for the encryption but not for the decryption. Did you have a successful encryption and an unsuccessful decryption within the same Wezterm process instance?
If possible, then I would like to use popen for both decryption and encryption, as it is more "clean" compared to the sh -c hack that is used with run_child_process. I have pushed a commit where i include the path in the decryption, hopefully that would fix the issue. I have tested on linux and it works just fine as before

I'm finding with popen that the error checks aren't reliable because it doesn't return stderr. Even if you append  2>&1 to the cmd, it's hit or miss and I need to be very verbose about what I'm looking for, because the command sort of silently fails but will seem successful.

I've had the exact same issue on my config on windows sravioli/wezterm#8. I solved the issue by caching values in a temp file. This has of course its downsides but it fixed the popup windows on Windows 10 and 11.

Thanks for your suggestion, but i unfortunetly don't Think it will work as for this usecase (encrypting/decrypting files) as the output should ideally change at every Call, so caching it would not be viable. Another issue is that the output should ideally never become a plaintext file on the users machine as that can be a security concern.

What are your thoughts on using wezterm.run_child_process() first, and popen as a fallback on stderr? It has a downside of making the functions longer and more complex though.

I've had the exact same issue on my config on windows sravioli/wezterm#8. I solved the issue by caching values in a temp file. This has of course its downsides but it fixed the popup windows on Windows 10 and 11.

Thanks for your suggestion, but i unfortunetly don't Think it will work as for this usecase (encrypting/decrypting files) as the output should ideally change at every Call, so caching it would not be viable. Another issue is that the output should ideally never become a plaintext file on the users machine as that can be a security concern.

What are your thoughts on using wezterm.run_child_process() first, and popen as a fallback on stderr? It has a downside of making the functions longer and more complex though.

I had to use io.popen() since wezterm.run_child_process() if I recall correctly it still caused popups on Windows

I have however notices that a window pops up when the encryption runs on Windows, is that something you have noticed aswell? @joncrangle

Reading about it online it seems to only affect certain windows versions and it does not seem to be something that can be solved trivially without adding a new lua API in wezterm which allows writing/reading to stdin/out/err... here is why it does not happend for the run_child_process.

Yes - I've also noticed a quick popup on Windows that closes after the process finishes.
On Mac, I had tried adding PATH to the cmd without success. Later when I have some time I will try symlinking age to /usr/local/bin to see if that can resolve the issue on Mac.

This is super strange, does this also happen if you open wezterm from your user shell? I.e. open it by typing "wezterm" in iterm?

I have however notices that a window pops up when the encryption runs on Windows, is that something you have noticed aswell? @joncrangle

Reading about it online it seems to only affect certain windows versions and it does not seem to be something that can be solved trivially without adding a new lua API in wezterm which allows writing/reading to stdin/out/err... here is why it does not happend for the run_child_process.

Yes - I've also noticed a quick popup on Windows that closes after the process finishes.
On Mac, I had tried adding PATH to the cmd without success. Later when I have some time I will try symlinking age to /usr/local/bin to see if that can resolve the issue on Mac.

This is super strange, does this also happen if you open wezterm from your user shell? I.e. open it by typing "wezterm" in iterm?

This is certainly super strange. If I launch WezTerm using the binary in /Applications, it has limited PATH var access. If I launch it from another terminal (including the instance of WezTerm itself with limited access) it now has full access to PATH vars.
In my other branch, I'm working on an option to let the user supply resurrect.set_encryption.method (thinking about letting the user select "age" "rage" or "gpg") but the same feature would also allow me to supply an absolute path to "age".

Latest commit adds execute_cmd_with_stdin which will use run_child_process if the command is less than 32k chars and will use io.popen otherwise for encrypting the state.
Decryption will always use run_child_process as there is no need to write to stdin.
Tested on Linux and works as expected

I have however notices that a window pops up when the encryption runs on Windows, is that something you have noticed aswell? @joncrangle

Reading about it online it seems to only affect certain windows versions and it does not seem to be something that can be solved trivially without adding a new lua API in wezterm which allows writing/reading to stdin/out/err... here is why it does not happend for the run_child_process.

Yes - I've also noticed a quick popup on Windows that closes after the process finishes.
On Mac, I had tried adding PATH to the cmd without success. Later when I have some time I will try symlinking age to /usr/local/bin to see if that can resolve the issue on Mac.

This is super strange, does this also happen if you open wezterm from your user shell? I.e. open it by typing "wezterm" in iterm?

This is certainly super strange. If I launch WezTerm using the binary in /Applications, it has limited PATH var access. If I launch it from another terminal (including the instance of WezTerm itself with limited access) it now has full access to PATH vars.
In my other branch, I'm working on an option to let the user supply resurrect.set_encryption.method (thinking about letting the user select "age" "rage" or "gpg") but the same feature would also allow me to supply an absolute path to "age".

Yea, it is probably not the same env the program is launched in, hence different paths. I think the best solution is to assume that the user has age in the path and the provide an easy way to switch it, like using another encryption provider or defining the path.
I dont think this should be tackled in this issue as it is outside the scope of fixing the encryption length limit

Also tested on Windows and works as expected

Tested working well on Mac.


Writing workers in go

Hi ,
I am running conductor as docker-compose in local, and wrote a simple program in go for worker - https://github.com/sandeep540/netflix_conductor
It's running, but not completing task and there are no logs, can you please help me in debuggin where am I going wrong,
P.S: I got it working with java, but we have requirement with go

Hi @sandeep540 , Do you see any error in polling task task_11?

No errors

One thing I noticed is even when I change the conductor url from "http://localhost:8080/api/". to some invalid address, the worker still starts, not sure if thats the expected behavior

One thing I noticed is even when I change the conductor url from "http://localhost:8080/api/". to some invalid address, the worker still starts, not sure if thats the expected behavior

This also surprised me as well. That is what I have in my code but it took me a while to figure out.

Remove the last slash / from the conductor server URL.
For logging, you can look at this section.

it worked with "http://localhost:8080/api"

thanks @supriyanta


Fixed custom icons loading, changed menu style and README

Thank you for contributing. I've merged the patch by https://github.com/chux0519/runcat-tray/pull/1 to fix memory leak and CPU mismatch.And also applied the change to README this PR made, as for the style, everyone may has their own preferation, so I think I will keep current implementation, and not to change it. You can definitely fork this and do some customize, happy hacking!


Fail to debug the Python V1 project with Time Trigger template

OS: All
Build Version: v1.14.4-alpha.0
Regression: Not a Regression
Repro Steps:

Create a Python V1 project with Time Trigger template.
Debug this project.
Check whether succeeds to debug the Python V1 project with Time Trigger template.

Expect:
Succeed to debug the Python V1 project with Time Trigger template.
Actual:
Fail to debug the Python V1 project with Time Trigger template.

More Info:
This issue does not reproduce when debugging Python V2 project with Time Trigger template.

Seems like another issue where we need to set the AzureWebJobsStorage in the settings. This debugging is failing because it can't create a blob container.

This issue also reproduces on debugging the java project with TimerTrigger template now.


feat(pixels): add danielbrazrocha pixel

Checklist

[x] I ran npm test locally and it passed without errors.

[x] I only edited the _data/pixels.json file.

[x] I entered the username in the pixels.json that I'm also using to create this pull request.
[x] I acknowledge that all my contributions will be made under the project's license.

I add [3,3] pixel with a special blue.


some command line util?

I appreciate your function very much, but I wonder if the server often has a cost. Can you provide a simple cli so that you can get this content by local?

@secwang Thank you for the feature request. This supports cli as well. Check https://github.com/takkyuuplayer/v-anki#cli out.


TileMap Scenes Collection Bug

Godot version
v4.0.dev.20211027.official [157cba393]
System information
Windows 10
Issue description
By using "Scenes Collection" I have added coins that the player can collect.
When I collect a coin and restart the scene, I get this error message:
get_node: Node not found: "@Coin@" (relative to "/root/Node2D/TileMap").
  <C++ Error>    Condition "!node" is true. Returning: nullptr
  <C++ Source>   scene/main/node.cpp:1344 @ get_node()

Steps to reproduce

Minimal reproduction project
SceneCollectionBug.zip

The TileMap node handles the scenes it exposes internally. If you free the coin yourself, then the TileMap node cannot access it itself. I think this is likely a documentation issue, as I am not sure I would have a way to solve the problem.

So you shouldn't use scenes that can be freed in the TileMap? or is there another solution?

Right now the simplest solution would be to set the tile to the empty value using set_cell, instead of freeing it manually.
I'll have a look. I'm not sure it's possible but I may find a way to check if the scene was freed manually.


Prufer Code in C++

@RN0311
Please add your file in a appropriate directory. And describe your pull request a little bit.


feat:added requierments.txt

Completed requierments.txt with the libraries and the versions.

Added dependencies in setup.py, only limited to mayor releases, for libraries with minor releases only, the following was defined, example:
"cuid==0.4" in pip freeze, then in setup.py -> "cuid>=0.4,<0.5"

the docs/requirements.txt is not needed anymore?
why do we lock some packages to minor versions and not major?
the package "filelock" is gone, need to merge/rebase and fix conflicts

indeed, the doc requirements should be restored.
There can be minor version locking if a feature we use is only present starting from a given minor version. This is also a common practice to lock the minor when the version is <1.0


Need steps to take the backup of database's from WiltonDB and place it in Aurora PostgreSQL

Hi Alex @staticlibs,
We are trying to identify the backup and restore options between WiltonDB and Aurora PostgreSQL. So we need steps to take the backup of database's from WiltonDB and place it in Aurora PostgreSQL. Can you please help us on it?

@psrinivasa2
All the below assumes that under "database" you mean "logical T-SQL database":
Currently the only option for consistent backups from/to WiltonDB is to use Babelfish version 3.3 on Aurora. It can be done with wdb_backup GUI or manually, see details on this wiki page and the pages linked there at the bottom.
Backup/restore to the same minor version is reliable, assuming DB name is unchanged. DB name rewriting logic contains a number of problems (#16, schema name problem) - I intend to look into them next week. Though, wdb_backup currently always use DB name rewriting (even if DB name is the same) - so use it with caution until updated.
Backup/restore between different minor and especially major versions is much more complicated though. There are ideas how to implement it, but no exact plans yet.
Also see this wiki page for backup/restore from/to latest Aurora versions (does not apply to WiltonDB).

Hi Alex,
I tried to export the data's my local SQL and import to Aurora postgreSQL (babelfish enabled) using wdb_transfer tool, getting below error , any idea on this?

Moreover password also displaying in log statements

@psrinivasa2

I tried to export the data's my local SQL and import to Aurora postgreSQL (babelfish enabled) in one the AWS EC2 using wdb_transfer tool, getting below error , any idea on this?

This is a server error on Aurora Babelfish side, I suggest to open a ticket about it with AWS support. Note, WiltonDB tools are not playing any role here at all - MS bcp is used in this case to load data to Aurora using bulk copy over TDS. I suggest to take the uncompressed .bcp file (from wdb_transfer temporary dir left after the error), reproduce the problem with a plain bcp invocation from a command line and submit it to AWS support. Having this file and access to your Aurora DB it should be trivial for AWS people to reproduce this. I suggest to not mention WiltonDB in such AWS tickets to prevent confusion on their side.

Moreover password also displaying in log statements

Yes, it makes sense to implement password filtering, currently the whole command is logged the same way it is run, filed #45 to track this.
PS: please note, a bookkeeping thing: this wdb_transfer/bcp (works over TDS) problem is not really related to backup/restore (works over Postgres conn) that is the original topic of this GH issue, such reports are still very welcome, just please open new issues for them if convenient.

Thanks much Alex @staticlibs


perf: Optimize the code on global zookeeper

What is the purpose of the change
Optimize the code on global zookeeper
Brief changelog

Avoid compiling pattern every time
Avoid port already in use
Output all configuration information of global zookeeper instances

Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[x] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #9302 (8edbd8a) into 3.0 (b66509e) will decrease coverage by 0.10%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                3.0    #9302      +/-   ##
============================================
- Coverage     65.29%   65.19%   -0.11%
+ Complexity      343      342       -1
============================================
  Files          1201     1201
  Lines         51723    51683      -40
  Branches       7723     7671      -52
============================================
- Hits          33774    33693      -81
- Misses        14325    14355      +30
- Partials       3624     3635      +11

Impacted Files
Coverage Δ

...center/initializer/ConfigZookeeperInitializer.java
0.00% <0.00%> (ø)

...ycenter/processor/StartZookeeperUnixProcessor.java
0.00% <0.00%> (ø)

...rycenter/processor/StopZookeeperUnixProcessor.java
0.00% <0.00%> (ø)

...gistrycenter/processor/ZookeeperUnixProcessor.java
0.00% <0.00%> (ø)

...ache/dubbo/remoting/transport/AbstractChannel.java
75.00% <0.00%> (-12.50%)
:arrow_down:

...in/java/org/apache/dubbo/common/utils/JVMUtil.java
79.59% <0.00%> (-12.25%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-11.54%)
:arrow_down:

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
:arrow_down:

.../threadpool/support/limited/LimitedThreadPool.java
83.33% <0.00%> (-5.56%)
:arrow_down:

...o/rpc/protocol/injvm/DefaultParamDeepCopyUtil.java
57.89% <0.00%> (-5.27%)
:arrow_down:

... and 44 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 b66509e...8edbd8a. Read the comment docs.