gRPC Max Messsage Size Error When Downloading Files Over 4MB In Size Prevents File Transfer

Expected Behavior

Be able to download a large file over 4MB in size without running into gRPC message size limitation

Current Behavior

Download stops because the we attempt to pull data out of the gRPC API in one call that is larger than the max default message size

Possible Solution

Add a Stream based DAG RPC to circumvent this issue for large files (most optimal)
Don't use DAG RPC directly and instead us the FIleAPI which has stream based RPCs (2nd most optimal)
Enable configurable max message size as a setting for TemporalX and recomend people set it when using s3x (least optimal)

Steps to Reproduce (for bugs)

Using mc command line client upload a file to s3x that is larger than 4MB
Download the file
Download will be stuck at 0%

Your Environment
MinIO Version: latest commit from https://github.com/RTradeLtd/s3x/pull/40
MinIO log:
temporal@delta-node-2:~$ docker logs 5e0
badger 2020/04/16 08:02:23 INFO: All 0 tables opened in 0s
Endpoint:  http://<IP_ADDRESS>:9000  http://<IP_ADDRESS>:9000

Browser Access:
   http://<IP_ADDRESS>:9000  http://<IP_ADDRESS>:9000

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
2020/04/16 08:02:42 bucket-name: bin	bucket-hash: bafkreicdw7cccvqg54qw5424ryaxz5ork6p6sfl6evw7rwowu6ilzqgrti
2020/04/16 08:03:05 bucket-name: bin, object-name: minio, file-hash: bafybeiezdyowoxvhocf5qubogwrdzoowzmjprfi7rl6pe6chomg6xcvpua

API: GetObject(bucket=bin, object=minio)
Time: 08:03:16 UTC 04/16/2020
DeploymentID: 4de3c0fa-4433-411e-ba95-38d53e0cf16e
RequestID: 16063E194454FAC7
RemoteHost: <IP_ADDRESS>
Host: <IP_ADDRESS>:9999
UserAgent: MinIO (linux; amd64) minio-go/v6.0.50 mc/2020-03-14T01:23:37Z
Error: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4194309 vs. 4194304)
       4: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1801:cmd.toAPIErrorCode()
       3: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1826:cmd.toAPIError()
       2: /home/solidity/Code/RTradeLtd/s3x/cmd/object-handlers.go:414:cmd.objectAPIHandlers.GetObjectHandler()
       1: net/http/server.go:2012:http.HandlerFunc.ServeHTTP()

API: GetObject(bucket=bin, object=minio)
Time: 08:03:17 UTC 04/16/2020
DeploymentID: 4de3c0fa-4433-411e-ba95-38d53e0cf16e
RequestID: 16063E1946E4DD00
RemoteHost: <IP_ADDRESS>
Host: <IP_ADDRESS>:9999
UserAgent: MinIO (linux; amd64) minio-go/v6.0.50 mc/2020-03-14T01:23:37Z
Error: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4194309 vs. 4194304)
       4: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1801:cmd.toAPIErrorCode()
       3: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1826:cmd.toAPIError()
       2: /home/solidity/Code/RTradeLtd/s3x/cmd/object-handlers.go:414:cmd.objectAPIHandlers.GetObjectHandler()
       1: net/http/server.go:2012:http.HandlerFunc.ServeHTTP()

API: GetObject(bucket=bin, object=minio)
Time: 08:03:18 UTC 04/16/2020
DeploymentID: 4de3c0fa-4433-411e-ba95-38d53e0cf16e
RequestID: 16063E19929ADE4C
RemoteHost: <IP_ADDRESS>
Host: <IP_ADDRESS>:9999
UserAgent: MinIO (linux; amd64) minio-go/v6.0.50 mc/2020-03-14T01:23:37Z
Error: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4194309 vs. 4194304)
       4: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1801:cmd.toAPIErrorCode()
       3: /home/solidity/Code/RTradeLtd/s3x/cmd/api-errors.go:1826:cmd.toAPIError()
       2: /home/solidity/Code/RTradeLtd/s3x/cmd/object-handlers.go:414:cmd.objectAPIHandlers.GetObjectHandler()
       1: net/http/server.go:2012:http.HandlerFunc.ServeHTTP()

Personally speaking I think the easiest solution is the stream based Dag RPC which will allow us to resolve this issue, and also enable using the Dag RPC for large DAG objects. This would be a fairly trivial change to the s3x codebase, as the semantic of using the Dag RPC would largely be the same. It's also a pretty minimal change to the TemporalX codebase.
If we agree on this solution @xiegeo I can get it done tomorrow

Copying this here from discussion with @xiegeo:
It seems that we are already chunking data on upload, however we are slightly over-estimating chunk size and as a result metadata associated with puts the message size over the maximum. The best course of action appears to be the following:
s3x side:

Reduce chunksize by 1-3% of maximum as a default
Enable a CLI flag to set the default chunksize
Use file API if we cant control max size (might not need to be done if we use the aforementioned configurable limit)

TemporalX side:

If someone tries to upload an IPLD object larger than 4MB return an error and abort processiong

commit https://github.com/RTradeLtd/s3x/pull/40/commits/80055d9629d8aa0cb4c8744d51aa99d2c78bce02 contains an attempted fix.

great work that fixed it


Add BGE embeddings support

Description:  BGE-large embeddings from BAAI are at the top of MTEB leaderboard. Hence adding support for it.
Tag maintainer: @baskaryan
Twitter handle: @ManabChetia3

The only difference is it requires a prompt for retrieval like the Instructor models.

From: Harrison Chase @.>
Sent: Monday, August 7, 2023 2:56:19 PM
To: langchain-ai/langchain @.>
Cc: manmax31 @.>; Author @.>
Subject: Re: [langchain-ai/langchain] Add BGE embeddings support (PR #8848)
@hwchase17 commented on this pull request.
are there any differences between this class and the normal huggingface class?
—
Reply to this email directly, view it on GitHubhttps://github.com/langchain-ai/langchain/pull/8848#pullrequestreview-1564548434, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAU7ATYXVMA5B26ZOQRRYXLXUBYPHANCNFSM6AAAAAA3GMU3L4.
You are receiving this because you authored the thread.Message ID: @.***>

ah, and we cant use the instructor embeddings cause different package and everything?

Yes.
Good thing is Bge supports sentence transformers.
Would have been cleaner if instructor supported sentence transformers as well.
On the other hand, Bge also has their own https://github.com/FlagOpen/FlagEmbedding/tree/master

From: Harrison Chase @.>
Sent: Monday, August 7, 2023 3:21:35 PM
To: langchain-ai/langchain @.>
Cc: manmax31 @.>; Author @.>
Subject: Re: [langchain-ai/langchain] Add BGE embeddings support (PR #8848)
ah, and we cant use the instructor embeddings cause different package and everything?
—
Reply to this email directly, view it on GitHubhttps://github.com/langchain-ai/langchain/pull/8848#issuecomment-1667203146, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAU7AT6XZATE7CRHX25XEADXUB3N7ANCNFSM6AAAAAA3GMU3L4.
You are receiving this because you authored the thread.Message ID: @.***>


Freeze: On faster chat auto completion freezes Chatterino completely

I was is sodapoppins chat during sellout Sunday I wanted to autocomplete ppHop and on the keydown of tab it completly freezes.

Can confirm this, but in general, not just fast chat room, tab-complete is extremely laggy or crashes Chatterino mostly in chat rooms that have a lot of chatters

This issue seems related to both #545 and #405

I got no high cpu usage by chatterino before/while freeze, not like in #545. Only 12% of a i7-3770K.

Duplicate of #545
@SFFan123 12% in the task manager on your CPU means that the application is using an entire processor thread. (4 cores => 8 threads with hyper-threading)


KAFKA-16147; Partition is assigned to two members at the same time

We had a case where a partition got assigned to two members and we found a bug in the partition epochs bookkeeping. Basically, when a member has a partition pending revocation re-assigned to him before the revocation is completed, the partition epoch is lost. Here is an example of such transition:
[2024-01-16 12:10:52,613] INFO [GroupCoordinator id=1 topic=__consumer_offsets partition=7] [GroupId rdkafkatest_rnd53b4eb0c2de343_0113u] Member M2 transitioned from CurrentAssignment(memberEpoch=11, previousMemberEpoch=9, targetMemberEpoch=14, state=revoking, assignedPartitions={}, partitionsPendingRevocation={EnZMikZURKiUoxZf0rozaA=[0, 1, 2, 3, 4, 5, 6, 7]}, partitionsPendingAssignment={IKXGrFR1Rv-Qes7Ummas6A=[0, 5]}) to CurrentAssignment(memberEpoch=15, previousMemberEpoch=11, targetMemberEpoch=15, state=stable, assignedPartitions={EnZMikZURKiUoxZf0rozaA=[0, 1, 2, 3, 4, 5, 6, 7]}, partitionsPendingRevocation={}, partitionsPendingAssignment={}). (org.apache.kafka.coordinator.group.GroupMetadataManager)

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

when a member has a partition pending revocation re-assigned to him before the revocation is completed, the partition epoch is lost

to confirm, the previousMemberEpoch=11 should be 14 in the given example right?

a partition got assigned to two members

this seems a bit scary. should we have some check that ensures the invariant?

to confirm, the previousMemberEpoch=11 should be 14 in the given example right?

previousMemberEpoch=11 seems correct as the member transitioned from 11 to 15.

this seems a bit scary. should we have some check that ensures the invariant?

yeah, but i am not sure how. one option would be to strengthen the validation when currentPartitionEpoch is modified. let me see if i can do something.

@jeffkbkim i have strengthen the validation around updating the partition epochs in my last commit. with this, the state change that we saw would have been rejected. i think that this is better than silently accepting it. let me know what you think.


All Contributors

@all-contributors please add @nhridoy for owner

@all-contributors please add @nhridoy for owner

https://github.com/all-contributors please add @nhridoy for Maintenance

@all-contributors please add @nhridoy for Maintenance

@all-contributors please add @nhridoy for Ideas & Planning


[FLINK-12489][Deployment/Mesos] Parametrisation of the network resource

What is the purpose of the change
Flink will be able to support network bandwidth customization. Since network resource is not standardized in Mesos we should specify the network resource name in config. By default we use name: 'network' which is used in Fenzo.
Network configuration is optional.
Brief change log

Added configuration for the network bandwidth usage
Added configuration for the network resource name on Mesos

Verifying this change
It is a configuration logic. The potential test would have at least the same complexity as implementation.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot approve description

I've rebased the PR onto the latest master. Let's see whether AZP passes.


Javier

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK: facebook

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Created facebook login endpoint in server.py, fixed merge issue.


Fixed #25619 -- Made runserver serve with HTTP 1.1 protocol

Closing for now.

@berkerpeksag maybe some python dev could chime in and give a hint here?

@claudep sorry for my late response. Python already supports HTTP 1.1 in both client and server level, but the default protocol is set to 1.0 for backward compatibility reasons(since runserver is basically for development I don't think it's a problem for Django). You also need to set protocol_version in WSGIServer: https://github.com/claudep/django/blob/2a8c3312414e04f88dd2d7ccff87fb0ad6ccf764/django/core/servers/basehttp.py#L65
We may add a new "Http11Handler"(or something like that) to make HTTP 1.1 easier to use in Python 3.6. Do you think it would be helpful?

The question I had was about what the Python docs says about enabling HTTP 1.1, "your server must then include an accurate Content-Length header (using send_header()) in all of its responses to clients." As far as I know, Django only sets that header in ConditionalGetMiddleware (there's an open ticket to move it to CommonMiddleware) so I wasn't sure if we could do it without causing a problem there. I didn't look into details though, so the meaning of that sentence might be something else entirely.

[...] so I wasn't sure if we could do it without causing a problem there.

Without the Content-Length header the client will probably hang since there is no way to determine end of the response.
A (probably hackish) way solve the problem would be overriding the parse_request method of http.server.BaseHTTPRequestHandler and setting self.close_connection to True. So you will end up with HTTP 1.0 keep-alive support in HTTP 1.1. I don't think it's worth to have HTTP 1.1 support without proper persistent connections :)

Thanks Berker for the enlightment. We'll need first to set Content-Length on non-streaming responses (Django ticket 5897).

Reopening now that 5897 Django ticket is fixed.

I'm trying to debug the failures, but I don't get why the second request of the connection does not trigger the server code with HTTP 1.1. Probably related to buffering/sockets and such, but I'm currently stuck.

I think I have an idea...

How about these changes: http://dpaste.com/0D07G05 ?

Yes, seems to work. But shouldn't a HTTP 1.1 server be able to serve multiple requests without closing the connection between each request?

Oh, I don't know. I'd have to dig in a bit more to understand things.

Closing for now as I guess we're stuck on the selenium failures.

Reopening following  bece837.

I'm sorry, due to wrong manipulations, I had to recreate a PR: https://github.com/django/django/pull/8043


Vue SPA Template Error

I try to create a new project MvcVueDemo by dotnet cli as following steps:
$ dotnet new vue
$ dotnet restore
$ dotnet run
My Mac OS info:
.NET Command Line Tools (2.0.2)
Product Information:
Version:            2.0.2
Commit SHA-1 hash:  a04b4bf512
Runtime Environment:
OS Name:     Mac OS X
OS Version:  10.12
OS Platform: Darwin
RID:         osx.10.12-x64
Base Path:   /usr/local/share/dotnet/sdk/2.0.2/
Microsoft .NET Core Shared Framework Host
Version  : 2.0.0
Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
But i met some proplem:
1. when typed donet run (first time) ,i get a error message:
/MvcVueDemo/MvcVueDemo.csproj(29,5): error MSB3073: The command "node node_modules/webpack/bin/webpack.js" exited with code 2.
2.when i changed the ASPNETCORE_ENVIRONMENT as Development, i get fail message
$ export ASPNETCORE_ENVIRONMENT=Development
$ dotnet run
fail: Microsoft.AspNetCore.NodeServices[0]
Hash: c51968d0e424c9b9c636
Version: webpack 2.7.0
Time: 3142ms
Asset    Size  Chunks             Chunk Names
main.js  219 kB       0  [emitted]  main
main.js.map  257 kB       0  [emitted]  main
chunk    {0} main.js, main.js.map (main) 188 kB [entry] [rendered]
[0] delegated ./node_modules/_vue<EMAIL_ADDRESS>from dll-reference vendor_dd9e16125c0e167928ad 42 bytes {0} [not cacheable][built]
[2] external "vendor_dd9e16125c0e167928ad" 42 bytes {0} [not cacheable]
[9] ./ClientApp/boot.ts 590 bytes {0} [built]
[10] ./~/_webpack-hot-middleware@2.21.0@webpack-hot-middleware/client.js?path=__webpack_hmr&dynamicPublicPath=true 7.35 kB {0} [built]
[11] delegated ./node_modules/_event-source-polyfill<EMAIL_ADDRESS>from dll-reference vendor_dd9e16125c0e167928ad 42 bytes {0} [not cacheable] [built]
[28] ./ClientApp/components/app/app.vue.html 1.39 kB {0} [built]
[29] ./ClientApp/components/counter/counter.vue.html 1.41 kB {0} [built]
[30] ./ClientApp/components/fetchdata/fetchdata.vue.html 1.42 kB {0} [built]
[31] ./ClientApp/components/home/home.vue.html 1.34 kB {0} [built]
[41] ./~/_webpack-hot-middleware<EMAIL_ADDRESS>2.21 kB {0} [built]
[42] ./~/_webpack-hot-middleware<EMAIL_ADDRESS>4.33 kB {0} [built]
[43] (webpack)/buildin/module.js 517 bytes {0} [built]
[45] delegated ./node_modules/_bootstrap<EMAIL_ADDRESS>from dll-reference vendor_dd9e16125c0e167928ad 42 bytes {0} [not cacheable] [built]
[47] delegated ./node_modules/_vue-router<EMAIL_ADDRESS>from dll-reference vendor_dd9e16125c0e167928ad 42 bytes {0} [not cacheable] [built]
[48] multi event-source-polyfill webpack-hot-middleware/client?path=__webpack_hmr&dynamicPublicPath=true ./ClientApp/boot.ts 52 bytes {0} [built]
+ 34 hidden modules
  ERROR in [at-loader] ./node_modules/_vue-class-component@5.0.2@vue-class-component/lib/declarations.d.ts:6:33
      TS2702: 'Vue' only refers to a type, but is being used as a namespace here.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/router.d.ts:4:35
      TS2304: Cannot find name 'Vue'.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/router.d.ts:13:43
      TS2304: Cannot find name 'Vue'.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/router.d.ts:19:8
      TS2304: Cannot find name 'Vue'.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/router.d.ts:93:25
      TS2304: Cannot find name 'Vue'.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/vue.d.ts:17:13
      TS2428: All declarations of 'ComponentOptions' must have identical type parameters.

  ERROR in [at-loader] ./node_modules/_vue-router@2.8.1@vue-router/types/vue.d.ts:17:40
      TS2304: Cannot find name 'Vue'.

  ERROR in [at-loader] ./node_modules/_vue@2.5.9@vue/types/options.d.ts:53:18
      TS2428: All declarations of 'ComponentOptions' must have identical type parameters.

how can i fixed those problem? THANKS!!!

I think you restored the NPM dependencies using Yarn. This won't work, because it doesn't respect the npm-shrinkwrap.json file.
The easiest way forwards would be to create a new project and this time use npm install to restore the NPM dependencies.

Hi @SteveSandersonMS ,
Thanks for your reply!  But in my case , i did restored the NPM dependencies using npm install # ,


Test: Terminal Shell Selection on Windows

https://github.com/Microsoft/vscode/issues/22260

[ ] Windows - @alexandrudima

To make the integrated terminal on Windows more usable, a popup will now appear informing the user that the shell can be changed. Please test the following:

cmd, powershell, git bash and wsl bash (Windows Insiders only) are detected appropriately
The popup will only appear under the following circumstances:

OS is Windows
The terminal was launched via an explicit "open terminal" user action (ie. toggle panel, focus terminal, create new terminal). It should not happen on panel restore after relaunch, debug opening a terminal, tasks opening a terminal
The terminal.integrated.neverSuggestSelectWindowsShell local storage key is not true (this is set when "OK, Never Show Again" is selected
The current configured shell is the default

The local storage key terminal.integrated.neverSuggestSelectWindowsShell can be changed/deleted from the Application tab in dev tools.

Sorry, I did not test the wsl bash, I do not have Windows Insiders.
The git bash was not detected, but that is because I don't have it in the path. It worked correctly when I configured the path.


Host network broken after one of the underlying interfaces of a bond goes down

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
On Equinix Metal the network setup is a bond of two NICs using LACP.
When Cilium is used as CNI for Kubernetes on Flatcar Container Linux, and one of the two NIC interfaces goes down, the host network is broken and remains broken even if the underlying interface goes up again.
The network looks normal but ping 1.1 leads to no outgoing packets visible in tcpdump -i bond0 (ping reports 100% packet loss) and ping <IP_ADDRESS> leads to ping: sendmsg: Operation not permitted.
We could not restore the network even after terminating the Pods and kubelet on the node, flushing nft and deleting the Cilium interfaces (maybe BPF programs are still loaded and not cleaned up?)
IPv6 is not affected, ping6 2606:4700:4700::1111 works.
Cilium Version
1.9, 1.10, 1.11
Kernel Version
from 5.10.52 to 5.10.84
Kubernetes Version
1.22
Sysdump
🔍 Collecting Kubernetes nodes
failed to create sysdump collector: failed to collect Kubernetes nodes: Get "https://<IP_ADDRESS>:6443/api/v1/nodes": dial tcp <IP_ADDRESS>:6443: i/o timeout

Relevant log output
Kernel
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): link status down for interface, disabling it in 200 ms
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): link status down for interface, disabling it in 200 ms
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): link status down for interface, disabling it in 200 ms
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): link status down for interface, disabling it in 200 ms
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): invalid new link 1 on slave
Feb 04 15:50:06 kernel: mlx5_core 0000:02:00.0: modify lag map port 1:2 port 2:2
Feb 04 15:50:06 kernel: bond0: (slave enp2s0f0np0): link status definitely down, disabling slave
Feb 04 15:51:09 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): lxc_health: link becomes ready
Feb 04 15:51:10 kernel: lxc_health: Caught tx_queue_len zero misconfig
Feb 04 15:51:33 kernel: mlx5_core 0000:02:00.0 enp2s0f0np0: Link down
Feb 04 15:51:33 kernel: mlx5_core 0000:02:00.0 enp2s0f0np0: Link up
Feb 04 15:51:33 kernel: bond0: (slave enp2s0f0np0): link status up again after 200 ms
Feb 04 15:51:33 kernel: bond0: (slave enp2s0f0np0): link status definitely up, 10000 Mbps full duplex
Feb 04 15:51:35 kernel: mlx5_core 0000:02:00.0: modify lag map port 1:1 port 2:2

Anything else?
Flatcar releases 2905.x.y to 3033.x.y are affected, running systemd from 247 to 249 (maybe relevant because systemd-networkd is used)
Flatcar releases 2764.x.y are not affected (kernel 5.10.43, systemd 247)
Reproduce it by provisioning an Equinix Metal machine with Flatcar Stable (used c3.small.x86).
Ensure it is on the latest version:
update_engine_client -update
sudo rm -f /etc/systemd/system/containerd.service.d/10-use-cgroupfs.conf
sudo sed -i 's/systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller//' /usr/share/oem/grub.cfg
sudo systemctl reboot

Set up a one-node Cilium cluster, using the script contents at the end:
sudo ./install.sh

Then, this action is valid and should not any harm, but now does:
sudo ip link set enp2s0f0np0 down

(and sudo ip link set enp2s0f0np0 up does not help)
The install.sh script used above:
#!/bin/bash

set -xe

systemctl enable --now docker
modprobe br_netfilter

cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

CNI_VERSION="v0.8.2"
CRICTL_VERSION="v1.17.0"
RELEASE_VERSION="v0.4.0"
DOWNLOAD_DIR=/opt/bin
RELEASE="$(curl -sSL https://dl.k8s.io/release/stable.txt)"

mkdir -p /opt/cni/bin
mkdir -p /etc/systemd/system/kubelet.service.d

curl() {
	command curl -sSfL "$@"
}

curl "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-amd64-${CNI_VERSION}.tgz" | tar -C /opt/cni/bin -xz
curl "https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-amd64.tar.gz" | tar -C $DOWNLOAD_DIR -xz
curl "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" | tee /etc/systemd/system/kubelet.service
curl "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" | tee /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
curl --remote-name-all https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/amd64/{kubeadm,kubelet,kubectl}

curl -L --remote-name-all https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-amd64.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-amd64.tar.gz /opt/bin
rm cilium-linux-amd64.tar.gz{,.sha256sum}

chmod +x {kubeadm,kubelet,kubectl}
mv {kubeadm,kubelet,kubectl} $DOWNLOAD_DIR/

systemctl enable --now kubelet
#systemctl status kubelet

cat <<EOF | tee kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
nodeRegistration:
  kubeletExtraArgs:
    volume-plugin-dir: "/opt/libexec/kubernetes/kubelet-plugins/volume/exec/"
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
controllerManager:
  extraArgs:
    flex-volume-plugin-dir: "/opt/libexec/kubernetes/kubelet-plugins/volume/exec/"
networking:
  podSubnet: "<IP_ADDRESS>/24"
EOF

# For explicit cgroupdriver selection
# ---
# kind: KubeletConfiguration
# apiVersion: kubelet.config.k8s.io/v1beta1
# cgroupDriver: systemd

# For containerd
# apiVersion: kubeadm.k8s.io/v1beta2
# kind: InitConfiguration
# nodeRegistration:
#  criSocket: "unix:///run/containerd/containerd.sock

export PATH=$PATH:$DOWNLOAD_DIR

kubeadm config images pull
kubeadm init --config kubeadm-config.yaml

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.9.4/install/kubernetes/quick-install.yaml

kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl get pods -A
kubectl get nodes -o wide

kubectl apply -f https://k8s.io/examples/application/deployment.yaml
kubectl expose deployment.apps/nginx-deployment

curl -L --remote-name-all https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz{,.sha256sum}
tar xzvfC cilium-linux-amd64.tar.gz /opt/bin
rm cilium-linux-amd64.tar.gz{,.sha256sum}

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for the report! How does ip r and ip n look like before the iface goes down and after it's back up again (maybe sysdump before / after would be best if it's just a test env)?

Before:
$ ip r
default via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/8 via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
$ ip n
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef REACHABLE
fe80::400:deff:fead:beef dev bond0 lladdr 06:00:de:ad:be:ef router STALE
2604:1380:4091:a200:: dev bond0 lladdr 06:00:de:ad:be:ef router STALE

cilium-sysdump-20220207-094529.zip
bpftool-output-before.txt
After:
$ ip r
default via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/8 via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
$ ip n
<IP_ADDRESS> dev bond0  INCOMPLETE
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef REACHABLE
<IP_ADDRESS> dev bond0  INCOMPLETE
fe80::400:deff:fead:beef dev bond0 lladdr 06:00:de:ad:be:ef router STALE
2604:1380:4091:a200:: dev bond0 lladdr 06:00:de:ad:be:ef router STALE

bpftool-output-after.txt
Since cilium sysdumpdoesn't work afterwards I attached some bpftool output but I don't know what you need.

<IP_ADDRESS> dev bond0  INCOMPLETE
<IP_ADDRESS> dev bond0  INCOMPLETE

Are these two addresses you're reaching out to?
From the agent log, I see that the Cilium version is 1.9.4. Could you try with latest 1.11.1, and dump the same outputs before/after if it reproduces there as well? (The bpftool one is not needed.)

Replaced it with (sudo) /opt/bin/cilium install → logs using Cilium version "v1.11.1"
Before:
$ ip r
default via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/8 via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
$ ip n
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef STALE
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef STALE
fe80::400:deff:fead:beef dev bond0 lladdr 06:00:de:ad:be:ef router STALE
fe80::d6af:f7ff:fedb:4897 dev bond0  FAILED
2604:1380:4091:a200:: dev bond0 lladdr 06:00:de:ad:be:ef router STALE

After:
$ ip r
default via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/8 via <IP_ADDRESS> dev bond0 proto static
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/31 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
$ ip n
<IP_ADDRESS> dev bond0  FAILED
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef REACHABLE
<IP_ADDRESS> dev bond0 lladdr 06:00:de:ad:be:ef REACHABLE
<IP_ADDRESS> dev bond0  INCOMPLETE
fe80::400:deff:fead:beef dev bond0 lladdr 06:00:de:ad:be:ef router STALE
fe80::d6af:f7ff:fedb:4897 dev bond0  FAILED
2604:1380:4091:a200:: dev bond0 lladdr 06:00:de:ad:be:ef router REACHABLE

You can use ManageForeignRoutingPolicyRules=no to protect policies.
https://github.com/systemd/systemd/commit/d94dfe7053d49fa62c4bfc07b7f3fc2227c10aff
However, things are a little bit complicated because of this bug. This big is backported to systems v249.5. With systemd v249.4,  you need to set both IgnoreCarrierLoss=yes and KeepConfiguration=yes as well and never use networkctl reconfigure or networkctl reload. Or you need to create policy rules before network starts. I think the latter is difficult in our case.

Thanks a lot for this information, much appreciated!
@pothos are you able to confirm that your issue is not seen anymore with the workaround suggested by @ysksuzuki?

Thanks, good to test this with Flatcar Alpha then which has a newer systemd. I'll try to get it working with one of the settings (Flatcar Stable doesn't have the bug fix yet).
So is this a variation of the topic where Flatcar has to ship networkd units that set Cilium interfaces to Unmanaged=yes instead of Cilium creating them at runtime under /run/systemd/networkd/?
I'm not sure the workaround of a global ManageForeignRoutingPolicyRules=no setting is the right way, or whether we should define the policy rules through networkd units (those don't get deleted, see https://www.freedesktop.org/software/systemd/man/networkd.conf.html#ManageForeignRoutingPolicyRules=). How would such a [RoutingPolicyRule] section look like for Cilium?

Can confirm that ManageForeignRoutingPolicyRules=no under [Network] in /etc/systemd/networkd.conf prevents the problem on Flatcar Alpha 3127.0.0

On the topic of the disappearing lo entry without ManageForeignRoutingPolicyRules=no (on Flatcar Alpha), without Cilium running the down/up action of the underlying device has no impact and 0:	from all lookup local stays in the list. With Cilium the rule is gone…

@pothos Thanks a ton for testing! I presume in this case we cannot just exclude the affected devices as with ...
https://github.com/flatcar-linux/init/pull/43/commits/0eb4436c6b9f5cbfca9c5e64fa371e8967a776fc
... but rather need the ManageForeignRoutes/ManageForeignRoutingPolicyRules generally from networkd. It's a bit cumbersome that networkd is interfering such much. Presumably every user that is also running their own BGP daemon on a node would have this disable the setting. Would be nice if systemd just had some sort of "server" profile where netword is less interfering. Hmm, do you happen to know if this was ever brought up with them?

Right, with Unmanaged=yes the rules are ignored and the only way for Cilium to tell networkd to preserve them is by putting them into an active .network unit (e.g., for a dummy interface)…
For reference, this is the translation into the networkd syntax:
[RoutingPolicyRule]
From=<IP_ADDRESS>/0
Table=local
Priority=100
[RoutingPolicyRule]
From=<IP_ADDRESS>/0
Table=2004
FirewallMark=512/3840
Priority=9
[RoutingPolicyRule]
From=<IP_ADDRESS>/0
Table=2005
FirewallMark=2560/3840
Priority=10

I think the networkd people had their reasons already from a "server" profile perspective. The way forward is that Flatcar, as a distro that expects Cilium to be running, would predefine the global setting like we do for similar cases. Maybe it makes sense for Cilium to add a check in the cilium install phase whether networkd is used and then recommending to change the default (plus having Unmanaged=yes is also a good idea even though it is only needed if people try to match too generically in their own networkd units as happend with Flatcar's default unit).

Thanks @ysksuzuki for the findings

For Flatcar Stable this works in /etc/systemd/networkd.conf:
[Network]
ManageForeignRoutes=no
ManageForeignRoutingPolicyRules=no

Then the additional IgnoreCarrierLoss=yes and KeepConfiguration=yes  workarounds mentioned in https://github.com/cilium/cilium/issues/18706#issuecomment-1031470456 are not needed.

@borkmann would it make sense to have a preflight check for cilium around these settings, given that they can vary OS to OS by default and the combination of systemd and cilium configuration seem to be in conflict with eachother?

@borkmann would it make sense to have a preflight check for cilium around these settings, given that they can vary OS to OS by default and the combination of systemd and cilium configuration seem to be in conflict with eachother?

Good question, yes, I think it would make sense to have some automation on this regard to avoid users running into it. I haven't checked yet how reliably one could detect systemd versions and/or whether older versions of systemd would just ignore some of the not-yet-supported networkd.conf settings. A preflight check seems sensible. cc @aanm

@borkmann would it make sense to have a preflight check for cilium around these settings, given that they can vary OS to OS by default and the combination of systemd and cilium configuration seem to be in conflict with eachother?

Good question, yes, I think it would make sense to have some automation on this regard to avoid users running into it. I haven't checked yet how reliably one could detect systemd versions and/or whether older versions of systemd would just ignore some of the not-yet-supported networkd.conf settings. A preflight check seems sensible. cc @aanm

The preflight check is only intended for Cilium upgrades. I assume the issue can happen when the kernel upgrades but Cilium is not. Unless you were referring to a preflight inside the cilium-agent pod?

@borkmann would it make sense to have a preflight check for cilium around these settings, given that they can vary OS to OS by default and the combination of systemd and cilium configuration seem to be in conflict with eachother?

Good question, yes, I think it would make sense to have some automation on this regard to avoid users running into it. I haven't checked yet how reliably one could detect systemd versions and/or whether older versions of systemd would just ignore some of the not-yet-supported networkd.conf settings. A preflight check seems sensible. cc @aanm

The preflight check is only intended for Cilium upgrades. I assume the issue can happen when the kernel upgrades but Cilium is not. Unless you were referring to a preflight inside the cilium-agent pod?

I was thinking of a start-up check. The issue is we faced was when switch maintenance, we lost an entire Kubernetes cluster because every node had lost host networking, and restarting was the fastest fix to restore service. In effect, these systemd-networkd + cilium configurations are dangerous for a production environment where I anticipated to have LACP up and working.
The networkd drop-ins do resolve my particular use case, however, I can't be the only cilium user on a similar setup.

(just passing by, but I have the same problem while trying ubuntu 21.04 (systemd 247.3). A restart of systemd-networkd makes it loose the ip rules, thus it won't accept RAs anymore, thus no SLAAC IPv6, etc. Potho's fix https://github.com/cilium/cilium/issues/18706#issuecomment-1031572546 makes it work again.)

To add on what I said in https://github.com/cilium/cilium/issues/18706#issuecomment-1031600043 here for docs purposes what I think could work with systemd-networkd default settings and no rule to set the affected interface Unmanaged.
At runtime Cilium could create a networkd unit for the interfaces under /run/systemd/network/ with the [RoutingPolicyRule] entries and the following settings to have it not managed by systemd-networkd but communicate which routing policies need to be restored:
[Match]
Name=cilium_host
[Link]
ActivationPolicy=manual
[Network]
DHCP=no
LinkLocalAddressing=no
LLMNR=no
LLDP=no
IPv6AcceptRA=no
KeepConfiguration=yes
[RoutingPolicyRule]
…as in the linked comment above…

For completeness, in our use case (ubuntu 20.10/kern 5.13.0-35-generic/systemd 248 (248.3-1ubuntu8.2)/cilium 1.11.2), this issue also accepts IPv6 for us, so we've needed to restore the IPv6 routing rules as well.
[RoutingPolicyRule]
From=::/0
Table=2004
FirewallMark=512/3840
Priority=9
[RoutingPolicyRule]
From=::/0
Table=2005
FirewallMark=2560/3840
Priority=10

@RouxAntoine could you check if systemd 250.5-1 has ManageForeignRoutingPolicyRules setting that you can set to false ?

I faced this today on a regular Ubuntu 22.04 install - simply running sudo netplan apply manually was enough to break the host network. Setting
ManageForeignRoutingPolicyRules=no
ManageForeignRoutes=no

in /etc/systemd/networkd.conf did indeed fix it, so I wonder if we should document that?

The same problem on Ubuntu 22.04.

I'm having the same problem - ubuntu 22.04.1 LTS - it took me a very long time to figure this one out!

I'm seeing the same issue, ubuntu 22.04, but not with bonds, just with a single ens224 is enough to break it.
As soon as the interface goes down and comes up again, host networking is entirely broken.
Even ping <IP_ADDRESS> times out,  updating only
ManageForeignRoutes=no
ManageForeignRoutingPolicyRules=no

and restarting was enough to fix it.

It seems that the suggestions from https://github.com/cilium/cilium/issues/18706#issuecomment-1031600043 and https://github.com/cilium/cilium/issues/18706#issuecomment-1066986342 to solve it are not interesting? Then at least the suggestion for a cilium install check would be a good idea, or? From a first look I don't even see it in the docs: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/

What is the output of
cat /proc/net/bonding/{bondname}

I just ran into this problem, and it broke both IPv4 and IPv6. The solution in https://github.com/cilium/cilium/issues/18706#issuecomment-1031572546 did fix IPv4. It would have saved me a lot of time if this had been documented in an obvious place. Please consider documenting it in the installation manual, or better yet, fix it automatically.

can confirm issue when running cilium on AKS clusters

Having same problem with:
[Network]
ManageForeignRoutes=no
ManageForeignRoutingPolicyRules=no

on Ubuntu Server 22.04.2 LTS:
$ systemd --version
systemd 249 (249.11-0ubuntu3.9)
$ uname -a
Linux srv-cla-k3s01-worker1 5.15.0-72-generic #79-Ubuntu SMP Wed Apr 19 08:22:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

with 1.14.0.snapshot.2

Same here as @kamikaze (Ubuntu 22.04 LTS Systemd 249.11), once I stop k3s network access is lost the the VM and I need to "phisically" reboot it

Hi I have solved here: https://github.com/k3s-io/k3s/pull/7618#issuecomment-1566925879

Does anyone know when this will be released?

Does anyone know when this will be released?

This is part of quay.io/cilium/cilium:v1.14.0-snapshot.3 and will go into 1.14.0.
https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.3

I've hit that issue shortly after apt-get upgrade for some reason.
Unfortunately, latest version of microk8s ships ancient cilium which still has the issue....
➜  ~ microk8s cilium version
Client: 1.11.12 40d94ad 2022-12-15T15:58:31-08:00 go version go1.17.13 linux/amd64
Daemon: 1.11.12 40d94ad 2022-12-15T15:58:31-08:00 go version go1.17.13 linux/amd64

if you are stuck with microk8s as well, I found the "version" hack that can be used to upgrade cilium. 1.13.8 is the newest that can install right now because of API change
Error: execution error at (cilium/templates/cilium-configmap.yaml:886:8): Value ipam.operator.clusterPoolIPv4PodCIDR removed, use ipam.operator.clusterPoolIPv4PodCIDRList instead

➜  ~ microk8s cilium version
Client: 1.11.12 40d94ad 2022-12-15T15:58:31-08:00 go version go1.17.13 linux/amd64
Daemon: 1.11.12 40d94ad 2022-12-15T15:58:31-08:00 go version go1.17.13 linux/amd64
➜  ~ microk8s disable cilium
➜  ~ microk8s enable cilium 1.13.8
➜  ~ microk8s cilium version
Client: 1.13.8 96f0558d 2023-10-17T09:48:08+03:00 go version go1.20.10 linux/amd64
Daemon: 1.13.8 96f0558d 2023-10-17T09:48:08+03:00 go version go1.20.10 linux/amd64


Filter out -v from compiler args when checking if a flag is supported.

Fixes #329. I didn't write an automated test because I didn't see a way to inject the args outside of environment variables, and doing that in unit tests that run concurrently seems dangerous.

Thanks! Looks like CI may need a slight tweak though? Feel free to bump the minimum version here as well!

1.16 is the first Rust release that can successfully compile these changes.

Thanks!

It should really be a major version bump to break compilation.


ArgumentError: wrong number of arguments (given 2, expected 1) when calling delete

When I try calling the delete method, it throws an ArgumentError, I'm not sure why:
ArgumentError: wrong number of arguments (given 2, expected 1)
from /Users/matteoguerrieri/Desktop/active-campaign-simple/lib/active-campaign-simple/request.rb:28:in `delete'

I'm following the example on the README.
I noticed that a fix could be adding payload: {} on the method, but not sure why it expects two arguments in lib/active-campaign-simple/request.rb:28
def delete(path, payload: {})
  request(:delete, path)
end

Sorry.. just noticed this. I will update the readme :)

Actually.. is this still an issue for you? Maybe it's been fixed since you posted this...


First pass at the Iron Irwini release notes.

That is, add in the full changelog, and also greatly expand the release notes themselves.
I should point out that the full changelog is necessarily not complete; it only contains information on things that have already been released.
The release note page is a cut-down version of the full changelog that just has things that might be interesting to end users.  What is currently in there was my opinion, so this list may be expanded or reduced based on thoughts from other people.
In both cases, we should be able to iteratively add new items here as they are landed.

I feel like the list of contributors under each package doesn't really match the list of contributors in the package's CHANGELOG file. For example, the aggregated release notes for tracetools combine the release notes from 5.0.0 and 5.1.0 but only use the contributors from 5.0.0.

I feel like the list of contributors under each package doesn't really match the list of contributors in the package's CHANGELOG file. For example, the aggregated release notes for tracetools combine the release notes from 5.0.0 and 5.1.0 but only use the contributors from 5.0.0.

Huh, good point.  There must be a bug in the script I use to generate this; I'll take a look.

i save the reminders for each issue about this task not to miss.

Great, thanks @fujitatomoya .

I feel like the list of contributors under each package doesn't really match the list of contributors in the package's CHANGELOG file. For example, the aggregated release notes for tracetools combine the release notes from 5.0.0 and 5.1.0 but only use the contributors from 5.0.0.

@christophebedard Based on this comment, I fixed some bugs in the script I use to generate this (https://github.com/clalancette/ros_changelog_from_pkgs).  The latest commit adds in the new output, and at least for the repositories I spot-checked, added in the missing Contributors.  Tomorrow I'll do a more thorough check, but thanks for diligently checking!

All right.  I didn't exhaustively go over every package (there are 350 of them), but I did a more thorough spot-check and the contributor list looks good on every package I checked.  So I'm pretty happy with this.


[doc] Should remove all activity.Register in document

I found three places mention about activity.Register. https://github.com/temporalio/sdk-go/pull/41
https://github.com/temporalio/sdk-go/blob/88b35b585712dcbeb3e493036b32f8a5baecd91c/activity/doc.go#L45-L47
https://github.com/temporalio/sdk-go/blob/88b35b585712dcbeb3e493036b32f8a5baecd91c/activity/doc.go#L184-L188
https://github.com/temporalio/sdk-go/blob/88b35b585712dcbeb3e493036b32f8a5baecd91c/worker/worker.go#L121

Addressing these issues here: https://github.com/temporalio/sdk-go/pull/306

Was fixed in #306


(//bazel): Native compilation support for Jetson AGX platform

Description
It includes native compilation support for NVIDIA Jetson AGX platform.
Dependencies:
Cross-compiled libraries from PyTorch on Jetson. Refer https://ngc.nvidia.com/catalog/containers/nvidia:l4t-pytorch
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

Breaking change (x86_64 bazel system needs to adapt and co-exist with aarch64 support)
This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas and hacks
[x] I have made corresponding changes to the documentation and have regenerated the documentation (make html in docsrc)
[ ] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes

Also we need to change the sphinx documentation to document the new usage for aarch64 (//docsrc/tutorials/installation.rst)

Closes #36

@andi4191 can you rebase this on master the PR? is trying to recommit a bunch of old changes

There were some issues with the PR, I filed one against your branch to resolve them. I think that we need to get this merged ASAP, it is currently blocking CUDA 11 work. I think if you rebase to remove those extra commits we should be good to merge this and then do documentation and DLA work in separate PRs.

Closing this PR. Updated PR tracked here #124


Make disabled button unclickable

Describe the bug
Disabled button should be unclickable
To Reproduce
Steps to reproduce the behavior:

Use default button
Apply disabled prop
Add an on:click function for testing
Test the default button that you just added

Code samples
<Button on:click={() => console.log('Triggered')} btnColor="red" disabled>
  Yes, I'm sure
</Button>

Expected behavior
The button should be unclickable
Screenshots

Desktop (please complete the following information):

Browser: Google Chrome
Version: Version 102.0.5005.115 (Official Build) (arm64)

Hi maintainer, hope you're having a good day.
I found this bug while using this package. If you agree to this issue, you can assign it to me and I can submit a PR.
Great job by the way and thanks for creating a svelte version of flowbite. Cheers 🍻


zh: update target settings in config file

What is changed, added or deleted? (Required)
align with https://github.com/pingcap/dm/pull/1032

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v3.0 changes)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s): https://github.com/pingcap/dm/pull/1032

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Have version specific changes
[ ] Might cause conflicts after cherry-picked

/label translation/done

/unlabel translation/doing


MOVE a file from Project space (manager/editor) to Personal space returns 502 code

Describe the bug
When a user makes an API request to move a file from the project space to personal space and vice versa then it returns 502 status code
Steps to reproduce
Steps to reproduce the behavior:

As admin, create a space project-space
As admin, upload file file.txt inside space project-space
As admin, move file file.txt from space Project-space to Personal space using curl command

curl -kv -XMOVE -uadmin:admin 'https://localhost:9200/remote.php/dav/spaces/<file-id>' \
-H 'Destination: https://localhost:9200/remote.php/dav/spaces/<personal-space-id>/file.txt' | xmllint --format -

Expected behavior
Expected to be returns between 400-405
Actual behavior

Returns 502
HTTP/1.1 502 Bad Gateway
< Access-Control-Allow-Origin: *
< Content-Length: 207
< Content-Security-Policy: default-src 'none';
< Content-Type: text/xml; charset=utf-8
< Date: Mon, 30 Oct 2023 08:43:58 GMT
< Vary: Origin
< X-Content-Type-Options: nosniff
< X-Download-Options: noopen
< X-Frame-Options: SAMEORIGIN
< X-Permitted-Cross-Domain-Policies: none
< X-Request-Id: nabin-OptiPlex-3050/6iKFbNOAye-003454
< X-Robots-Tag: none
< X-Xss-Protection: 1; mode=block
<
{ [207 bytes data]
100   207  100   207    0     0   4215      0 --:--:-- --:--:-- --:--:--  4312
* Connection #0 to host localhost left intact
<?xml version="1.0" encoding="UTF-8"?>
<d:error xmlns:d="DAV" xmlns:s="http://sabredav.org/ns">
  <s:exception/>
  <s:message>move:error: not supported: cannot move across spaces</s:message>
</d:error>

CC @ScharfViktor @micbar
One of the 502 from https://github.com/owncloud/ocis/issues/8063#issuecomment-1873994662 is this one

Also same response for MOVE Personal/file to Project/file (manager/editor)

As per https://github.com/owncloud/ocis/issues/8063#issuecomment-1883281975, https://github.com/owncloud/ocis/issues/8063#issuecomment-1883281975 and https://github.com/owncloud/ocis/issues/4087#issuecomment-1177951438, the 502 statuscode is the correct code that server should respond. So closing this.


Segfault when querying pre-built frequent_items_string sketch

Hi,
We are testing the postgres extension and came across the issue of segfaulting when querying the fi strings sketches. We built these sketches in other environments (Java/Python) and passed them into postgres.
It doesn't occur with  all the sketches, here's an example that would trigger the exception
SELECT frequent_strings_sketch_result_no_false_negatives(cast(decode('BAEKBwYAAAAsAAAAAAAAAD4fAAAAAAAAUgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAEgAAAC0xOS4wODk0NjMzMTk4OTEwNhEAAAA5MTMuMzE3NzU1MDQ4MjE4MREAAAA2MTQuNzA1ODYyMjk0MDEyNxIAAAAxNDc1LjAwNDAwNjI2ODI0MTcQAAAANjcuNjQzODAyODEwMzMzNhAAAAA3NzkuODExMDc3MDI3NTU5EgAAADEzNjguMjUzNDk3MzMyNjU3NBEAAAA4MzMuMzkwNzE3MTI3NjQxOBMAAAAtMTYwLjU2NzMwNTkzNTcyNTA3EgAAADE0NDMuMTE0Mzk1MjIwODI5NREAAAAxMTUyLjMyNzc0NTc4NzA3OBEAAAAxMjA5LjMzNjQ1NTgwNzkwMxIAAAAxMjQwLjg1MDEzNjQxMTM5OTURAAAAMzM1LjAyNTI0Njg3OTk4MzcRAAAAMTE4Ni4zNDYzMjQ4Mjk2MTMSAAAANDYuOTQyNTQ1MzU1NzI1NDE0EgAAADExODUuNjkwODAxNjQwNjE4MhEAAAA3ODMuNTg4MDA4NzI2MjM3MxIAAAAxNDU5LjUwODA4NjUwMjEwODkRAAAAMzA4LjAxOTY3NDk2NzI2MzQSAAAAMTQyOC4zMDYwMzQ1Njk2NzYzEgAAADEwMzguODc4MzIzMjc0OTU4MxIAAAAtNTQ5LjY1NDk4MTQ2MDc5ODERAAAAMTcwNy4yMDkxMzM2MDg0ODERAAAAMzI3LjA0MjI2NzM1NjQ4NjQQAAAAODIxLjUzNTExMjI4ODk0MREAAAA3MDUuODY0MTAxMTY3OTI1NBEAAAA5OTUuOTk1ODA2ODM2MjA4MREAAAA2NTUuMDE0OTI4NzQ5MDk4MxMAAAAtMTc1Ljg2OTAwNTA5MDM2OTU0EgAAADEwMTUuMzkyMjk0NDg1MTU1NhIAAAAtNTMxLjEyMjMwNzU0NDE4NTkSAAAALTY3OS40OTM3ODU3MDQ5NjU1EgAAADExNjkuNTgwMzE5MDU4NzI3NhIAAAAxMTg4Ljc0ODkxNTA3NjM5MzQQAAAAMzkyLjQwODUwMjUxNDM3MhIAAAAzMzAuMDgzODQ4MjkwMTMwOTYSAAAAMzk0Ljg0MDIyOTAxNDQ2MzU1EgAAADEyNTEuMjQwMDQyMzk3Mjg5NRIAAAAtNDM4LjcxNzQ1OTIzNTAyNjESAAAAMjE5NS45ODE3MTQxODU5MDg1EQAAADIxNC4zOTE2MTMwMTI4Nzc5EgAAADQzOS4xNzg0MDUyOTU2NzI0NhIAAAAtMzEzLjM4MzIzNzMyMDAyNjY=', 'base64') as frequent_strings_sketch))

The above sketch (base64 encoded) can be parsed fine with datasketches Python 3.5.0 from Pypi.
Postgers logs doesn't show much information either.
2022-10-25 23:53:28.363 UTC [1] LOG:  database system is ready to accept connections

2022-10-25 23:53:35.733 UTC [1] LOG:  server process (PID 118) was terminated by signal 11: Segmentation fault

What version are you testing?

The latest version from master.
I've managed to narrow it down to this line:
https://github.com/apache/datasketches-postgresql/blob/master/src/frequent_strings_sketch_c_adapter.cpp#L93
Seems that frequent_items_sketch doesn't have an explicit destructor and that might be why it works some of the time but fails for some other?

Looks like we don't have an explicit destructor in FI sketch: https://github.com/apache/datasketches-cpp/blob/master/fi/include/frequent_items_sketch.hpp

Right, because the default constructor should be sufficient since there are no pointers in the class. The hash map does have a constructor, and that's automatically called when it goes out of scope.
The master branch of the C++ library has unreleased, API-breaking changes. Please try the latest release tag.

I threw in a bunch of printf statements into the deallocator (see code below) and it looks like it failed to deallocate the first entry and encountered exception with this sketch
2022-10-26 07:34:34.485 UTC [1] LOG:  database system is ready to accept connections
Attempting to deallocate hashmap. Size: 64. Num active: 44
Deacllocating active item index: 0

Sketch
BAEKBwYAAAAsAAAAAAAAAD4fAAAAAAAAUgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAEgAAAC00MzguNzE3NDU5MjM1MDI2MREAAAAxNzA3LjIwOTEzMzYwODQ4MREAAAA2NTUuMDE0OTI4NzQ5MDk4MxAAAAA2Ny42NDM4MDI4MTAzMzM2EgAAAC01MzEuMTIyMzA3NTQ0MTg1OREAAAA4MzMuMzkwNzE3MTI3NjQxOBEAAAA2MTQuNzA1ODYyMjk0MDEyNxIAAAAxMTg4Ljc0ODkxNTA3NjM5MzQRAAAAMzI3LjA0MjI2NzM1NjQ4NjQRAAAAOTk1Ljk5NTgwNjgzNjIwODERAAAANzA1Ljg2NDEwMTE2NzkyNTQSAAAAMTQ0My4xMTQzOTUyMjA4Mjk1EgAAADMzMC4wODM4NDgyOTAxMzA5NhAAAAA3NzkuODExMDc3MDI3NTU5EgAAADE0MjguMzA2MDM0NTY5Njc2MxIAAAAtNjc5LjQ5Mzc4NTcwNDk2NTURAAAAMTIwOS4zMzY0NTU4MDc5MDMSAAAAMTI1MS4yNDAwNDIzOTcyODk1EgAAADQzOS4xNzg0MDUyOTU2NzI0NhMAAAAtMTc1Ljg2OTAwNTA5MDM2OTU0EgAAADEzNjguMjUzNDk3MzMyNjU3NBEAAAA3ODMuNTg4MDA4NzI2MjM3MxIAAAAxMDE1LjM5MjI5NDQ4NTE1NTYSAAAANDYuOTQyNTQ1MzU1NzI1NDE0EgAAAC0xOS4wODk0NjMzMTk4OTEwNhEAAAAzMDguMDE5Njc0OTY3MjYzNBAAAAAzOTIuNDA4NTAyNTE0MzcyEgAAAC0zMTMuMzgzMjM3MzIwMDI2NhEAAAAxMTUyLjMyNzc0NTc4NzA3OBIAAAAxMTY5LjU4MDMxOTA1ODcyNzYSAAAAMTI0MC44NTAxMzY0MTEzOTk1EgAAADE0NzUuMDA0MDA2MjY4MjQxNxEAAAAzMzUuMDI1MjQ2ODc5OTgzNxEAAAAxMTg2LjM0NjMyNDgyOTYxMxEAAAA5MTMuMzE3NzU1MDQ4MjE4MRMAAAAtMTYwLjU2NzMwNTkzNTcyNTA3EgAAADExODUuNjkwODAxNjQwNjE4MhIAAAAzOTQuODQwMjI5MDE0NDYzNTUSAAAALTU0OS42NTQ5ODE0NjA3OTgxEgAAADEwMzguODc4MzIzMjc0OTU4MxIAAAAxNDU5LjUwODA4NjUwMjEwODkRAAAAMjE0LjM5MTYxMzAxMjg3NzkQAAAAODIxLjUzNTExMjI4ODk0MRIAAAAyMTk1Ljk4MTcxNDE4NTkwODU=

template<typename K, typename V, typename H, typename E, typename A>
reverse_purge_hash_map<K, V, H, E, A>::~reverse_purge_hash_map() {
  const uint32_t size = 1 << lg_cur_size_;
  std::cout << "Attempting to deallocate hashmap. Size: " << size << ". Num active: " << num_active_ << std::endl;
  if (num_active_ > 0) {
    for (uint32_t i = 0; i < size; i++) {
      if (is_active(i)) {
        std::cout << "Deacllocating active item index: " << i << std::endl;
        keys_[i].~K();
        std::cout << "Done deallocating index: " << i << std::endl;

        if (--num_active_ == 0) break;
      }
    }
  }
  std::cout << "Deallocating keys" << std::endl;

  if (keys_ != nullptr) {
    allocator_.deallocate(keys_, size);
  }
  std::cout << "Done with keys. Deallocating values" << std::endl;

  if (values_ != nullptr) {
    AllocV av(allocator_);
    av.deallocate(values_, size);
  }
  std::cout << "Done with values. Deallocating states" << std::endl;

  if (states_ != nullptr) {
    AllocU16 au16(allocator_);
    au16.deallocate(states_, size);
  }
  std::cout << "Done with states" << std::endl;
}

This is a very helpful issue report. We'll start looking into it.

Edited my comment refer to destructors, which is what i was describing, even though i said constuctor.

Unrelated to the crash, I looked at the sketch and I saw floating-point numbers as strings there. I am a bit puzzled what the use case might be. What if a number is slightly off? Say by 1 count in 13th decimal place? For sketch it would be a different item altogether. Is this intentional?

I could not reproduce the problem so far. I have PostgreSQL 14.3 on my MacBook, and your query works just fine.

@AlexanderSaydakov I built the container directly from this master branch in Docker and execute the query against the container.
Regarding numbers in sketches, those are intentional. We just use this sketch in a generic sense so sometimes numbers get through

The current master in datasketches-cpp shouldn't even be compatible with the current datasketches-postgresql. We've changed template parameters for a number of sketches.

@jmalkin yeah I didn't test it against the latest datasketches - too many incomptabile changes. However the code that triggered the segfault doesn't look like it's been changed (see the above comment). I suspect that this might happen in the latest ds branch as well and will look into creating a unit test for this

I managed to reproduce the problem, and I think I know the cause. I will fix shortly.

@andyndang If I am right, this is a small and subtle mistake of mine. Take a look at the pull request: just removing "std::" prefix in one place should fix this (I hope). Could you give this a try in your environment?

@andyndang Did you have a chance to give this a go? I would like to close this issue if the problem is resolved. Thank you.

@AlexanderSaydakov the fix works! Thank you! I'll close the issue


Create issue modal crashes when assignee is selected before switching projects

Summary
Fixes the issue whenever user selects a project , task and then an asignee and then switches projects -> tasks again which causes the app to crash
Ticket Link
https://github.com/mattermost/mattermost-plugin-jira/issues/819

Hello @maisnamrajusingh,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@mickmister  please ignore this until @dipak-demansol  has done the qa on this.

Codecov Report

Merging #848 (918e79f) into master (f986c15) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #848   +/-   ##
=======================================
  Coverage   31.46%   31.46%
=======================================
  Files          49       49
  Lines        5982     5982
=======================================
  Hits         1882     1882
  Misses       3911     3911
  Partials      189      189

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 f986c15...918e79f. Read the comment docs.

its LGTM but i'll test it again on the browser & desktop app when the dev review is done.

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

@mickmister could you take a look ? I feel this is good to go.

Closing due to https://github.com/mattermost/mattermost-plugin-jira/pull/848#discussion_r995978868


Debug Failure when enabling --noImplicitAny

TypeScript Version:  2.4.0
When I turn noImplicitAny to true in tsconfig.json I get a Debug Failure error. I have turned the flag off, fixed an issue, the project was compiling fine then turned the flag back on and got the same error
Code
// tsconfig.json
{
  "compilerOptions": {
    "outDir": "lib",
    "module": "commonjs",
    "target": "es5",
    "lib": ["es7", "dom"],
    "sourceMap": true,
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "src",
    "declaration": true,
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": true,
    "types": ["node"]
  },
  "exclude": [
    "node_modules",
    "lib",
    "build",
    "**/*.test.*",
    "**/*.stories.tsx"
  ]
}

Expected behavior:
Project compiling.
Actual behavior:
/usr/local/lib/node_modules/typescript/lib/tsc.js:55708
                throw e;
                ^

Error: Debug Failure.
    at reportError (/usr/local/lib/node_modules/typescript/lib/tsc.js:28773:26)
    at hasExcessProperties (/usr/local/lib/node_modules/typescript/lib/tsc.js:28931:37)
    at isRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28838:25)
    at eachTypeRelatedToType (/usr/local/lib/node_modules/typescript/lib/tsc.js:29021:35)
    at isRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28868:25)
    at checkTypeRelatedTo (/usr/local/lib/node_modules/typescript/lib/tsc.js:28761:26)
    at checkApplicableSignature (/usr/local/lib/node_modules/typescript/lib/tsc.js:33652:26)
    at resolveCall (/usr/local/lib/node_modules/typescript/lib/tsc.js:33884:17)
    at resolveNewExpression (/usr/local/lib/node_modules/typescript/lib/tsc.js:34091:24)
    at resolveSignature (/usr/local/lib/node_modules/typescript/lib/tsc.js:34223:28)

Sorry I will close this issue it is not very explicit, I managed to fix it by removing a reference to an interface that was using _ as a key in a file but I am not entirely sure about the issue I didn't manage to isolate it.

looks like a duplicate of https://github.com/Microsoft/TypeScript/issues/16292


Several improvements to map

Make map carets clickable
add full stack and interview prep sections
remove map heading for better vertical real estate on map page

It was a deliberate improvement to add the fixed header.  I don't have a problem with making it smaller, but not having a fixed header removes the usefulness of the collapse button and of the upcoming filter buttons.

Otherwise, the new functionality is good.

Fixed is fixed.  Looking good.

Also part of the content is hidden now.

@bugron Yes, I tested auto-scroll before merging.

D'oh - I didn't see that the top was hidden.


Replace Groovy 2.4.8 uncapitalize with Utils class

See: https://github.com/energizedwork/webdriver-binaries-gradle-plugin/issues/4

Fixed in cb4f59aa9b50d85ff797a81c92b41da5f851670d.


setup is not clear

Hello! And thanks for a wonderful vim plugin!
I'm not new to vim, but right now I'm trying to get my way into web programming.
I don't know any js yet, not to mention node and tampermonkey/userscripts.
So I'm on a starting position ready to go with my favourite editor, yet unable to make browserlink.vim work in vim. So that's why I request to include some basic instructions how to make it work with node and tampermonkey.
My OS is ubuntu 14.04.
I have installed node.js
I have installed browserlink.vim with Vundle
And included this in my index.html

script src='http://<IP_ADDRESS>:9001/js/socket.js'>

Thanks!

I'm on the same spot. Any help?

Tav0 which node modules?

I am also new to nodejs but familiar with vim.I  install the plugin with vundle and patch it with  python3 support.However i cannot get this plugin work.I install nodejs but donot know how to setup the working directory and donot knwo how to create proper package.json file. Is there anyone would give me a hand? My OS is Ubuntu 16.04 x64 LTS with nodejs 6.9.5 installed. Many thanks.

Where should the package.json go? at the 'browserlink' directory?


about openpose  TensorRT  demo accomplish？

Do you have plans to implement openpose's TensorRT implementation

No, I don't have such a plan.
Maybe you could refer to NVIDIA's NVIDIA-AI-IOT/trt_pose sample.

No, I don't have such a plan.
Maybe you could refer to NVIDIA's NVIDIA-AI-IOT/trt_pose sample.

yes，i find I tested the accuracy not admiration, not converted with caffemodel
2.For tensorrt ， Are there any recommended learning tutorials for newbies, in addition to official documents

For TensorRT, are there any recommended learning tutorials for newbies, in addition to official documents?

I don't have a good answer.  I myself do read the official TensorRT Documentation, API Reference and sample code included in the TensorRT releases.
But I'd say there's a lot of boiler plate code which you could just copy and do minor modifications.  For example, you could use my onnx_to_tensorrt.py as a basis of TensorRT engine building code.  And you could use the TrtYOLO class as a basis of inference code.
https://github.com/jkjung-avt/tensorrt_demos/blob/9dd56b3b8d841dcfc2e5d1868f4bd785a50cbe98/utils/yolo_with_plugins.py#L266

For TensorRT, are there any recommended learning tutorials for newbies, in addition to official documents?

I don't have a good answer. I myself do read the official TensorRT Documentation, API Reference and sample code included in the TensorRT releases.
But I'd say there's a lot of boiler plate code which you could just copy and do minor modifications. For example, you could use my onnx_to_tensorrt.py as a basis of TensorRT engine building code. And you could use the TrtYOLO class as a basis of inference code.
https://github.com/jkjung-avt/tensorrt_demos/blob/9dd56b3b8d841dcfc2e5d1868f4bd785a50cbe98/utils/yolo_with_plugins.py#L266

ok thank you for your reply， i will  learning  it ,Looking forward to your more project


(React) Create usePlugin hook

My ReactJs Code
import {
  viewDay,
  viewMonthAgenda,
  viewMonthGrid,
  viewWeek,
} from "@schedule-x/calendar";
import { assetsFundingCashFlowCalendarData } from "../../../../../store/slices/cashFlowSlice/cashFlowSlice";
import { createEventsServicePlugin } from "@schedule-x/events-service";
import { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";

const AssetsFlowPage = () => {
  const assetsFundingCashFlowCalendarInfo = useSelector(assetsFundingCashFlowCalendarData);
  const eventsServicePlugin = createEventsServicePlugin();

  const dispatch = useDispatch();
  const currentDate = new Date();
  const currentYear = currentDate.getFullYear();
  const currentMonth = currentDate.getMonth() + 1;

  const calendar = useCalendarApp({
    defaultView: viewMonthGrid.name,
    views: [viewDay, viewWeek, viewMonthGrid, viewMonthAgenda],
    events: assetsFundingCashFlowCalendarInfo,
    plugins: [eventsServicePlugin],
    callbacks: {
      onSelectedDateUpdate(date) {
        const year = date.split("-")[0];
        const month = date.split("-")[1];
        dispatch(
          getAssetsFundingCashFlowCalendarDataAsync({
            year,
            month,
            accessToken,
          })
        );
      },
    },
  });

   useEffect(() => {
    dispatch(
      getAssetsFundingCashFlowCalendarDataAsync({
        year: currentYear,
        month: currentMonth,
        accessToken,
      })
    )
  }, []);

 useEffect(() => {
    if (assetsFundingCashFlowCalendarInfo > 0) {
      eventsServicePlugin.set(assetsFundingCashFlowCalendarInfo);
      console.log("Set: ", assetsFundingCashFlowCalendarInfo);
    }
  }, [assetsFundingCashFlowCalendarInfo]);

   return (

   <ScheduleXCalendar calendarApp={calendar} />

)

The eventsServicePlugin is not working in this case
API RESPONSE:
 [
    {
      id: 1,
      title: 'Coffee with John',
      start: '2024-07-12',
      end: '2024-07-12',
    }
  ]

Expected behaviour is whenever the value inside useSelector changes the data on the calendar should be updated
The Data is properly getting logged but not updated inside useEffect
VERSIONS USED

"react": "^18.2.0"
"react-dom": "^18.2.0"
"@schedule-x/events-service": "^1.50.0"
"@schedule-x/react": "^1.38.0
"@schedule-x/theme-default": "^1.41.0"
node version: v20.12.2
npm version: 10.5.0
"@reduxjs/toolkit": "^2.2.3"

Do you have any errors in your console? My assumption would be that you are getting an error that you cannot call set on undfined. In this case, you need to make adjustments to your code so that the events service doesn't get thrown away when your component re-renders. You could either save your service over re-renders in useState, or instantiate it outside of your component, like this:

const eventsServicePlugin = createEventsServicePlugin();

const AssetsFlowPage = () => {
  // ... other stuff

Actually we can keep this open. It probably would make sense for the library to have some kind of usePlugin hook that lets you save a plugin across re-renders, and basically just saves a plugin in useState behind the scenes

and if you move this statement to just above your component const eventsServicePlugin = createEventsServicePlugin();?

Tried this, its still not working

Then I will need a reproduction environment to be able to help. Setting one up in Stackblitz is usually quite fast

Stackblitz Reactjs Code URL: https://stackblitz.com/edit/react-udlh2d?file=src%2FApp.js
This is not the actual code, just a dummy code written to understand the problem properly
Here useSelector value changes and it is being assigned to calendar but calendar view is not being updated accordingly
Backend API used is also dummy: https://calendar-backend-z9ki.onrender.com/
it only accepts /calendar/1 or /calendar/2 endpoints.
On initial component load /calendar/1 API is called and after that if the month is changed /calendar/2 API gets called and updates the state

This is a problem with your application code. See the console.log in the useEffect hook, doesn't run after your promises are fulfilled

I have updated the code https://stackblitz.com/edit/react-udlh2d?file=src%2FApp.js and now useEffect is logging updated state result after API calls but calendar view does not update with it
https://github.com/user-attachments/assets/a28bb351-ad99-4ff2-8910-5186276f8d83

I can reproduce the issue now, but really clueless at the moment what's causing it.
If I synchronously add events in your no-dependency hook, things work, but once used via this dispatch method, it doesn't.
Will need to look into this further

I have an interesting finding:
when I use a no-dependency hook in your example, without any use of the react-redux stuff, I can use the events service without a problem. As soon as I comment that dispatch statement back in, it doesn't work anymore, even though the code runs.
It appears to me as if the calendar instance is thrown away, and a new one is set up. That means the events-service plugin is then only used with the old calendar instance which is not rendered anymore, but just kept in memory through the events service plugin. If you compare the console.log outputs with and without the dispatch statement, you'll see in the first output, the internal calendarEvents is matching in both outputs. Once I use the dispatch statement, the calendarEvents list from the app of events service plugin, is another list of events than the one used by the currently rendered calendar.
Any ideas on what could cause this?
The useCalendarApp hook is basically just a wrapper around Reacts useState, like:
export function useCalendarApp(config: CalendarConfig) {
  const [calendarApp] = useState(createCalendar(config))
  return calendarApp
}

https://github.com/user-attachments/assets/4fc6e115-7714-4ba6-93d7-a15f1d2f5223

Here is a code generated by ChatGPT to memoize calendar instance so it doesn't change on each render, it still doesn't seems to work
import {
  viewDay,
  viewMonthAgenda,
  viewMonthGrid,
  viewWeek,
} from '@schedule-x/calendar';
import { useCalendarApp, ScheduleXCalendar } from '@schedule-x/react';
import { createEventsServicePlugin } from '@schedule-x/events-service';
import React, { useEffect, useMemo } from 'react';
import { getCalendarData, calendarData, dataLoading } from './commonSlice';
import { useDispatch, useSelector } from 'react-redux';

import<EMAIL_ADDRESS>
const eventsServicePlugin = createEventsServicePlugin();

export default function App() {
  const calendarInfo = useSelector(calendarData);
  const calendarDataStatus = useSelector(dataLoading);
  const dispatch = useDispatch();

  const calendar = useMemo(() => useCalendarApp({
    defaultView: viewMonthGrid.name,
    views: [viewDay, viewWeek, viewMonthGrid, viewMonthAgenda],
    plugins: [eventsServicePlugin],
    events: [],
    callbacks: {
      onSelectedDateUpdate() {
        dispatch(getCalendarData(2));
      },
    },
  }), [dispatch]); // Memoize calendar instance

  useEffect(() => {
    dispatch(getCalendarData(1));
  }, [dispatch]);

  useEffect(() => {
    if (calendarDataStatus === 'success') {
      eventsServicePlugin.set(calendarInfo);
      console.log(calendarInfo);
    }
  }, [calendarDataStatus, calendarInfo]);

  return (

      <ScheduleXCalendar calendarApp={calendar} />

  );
}

I downloaded your fork and played around with it a bit locally. I now understand part of the problem better:
Problem 1: the useState hook in the useCalendarApp hook seems to be reinitialized many times over, instead of persisting its state. I recreated the original hook like this with a console log, and saw how the console log was executed many times in your example: https://github.com/tomosterlund/sx-react-debugging-example/blob/main/src/useCalendar.js
Problem 2 (still unsolved): something is causing the useState-hook inside useCalendar to be reinitialized, meaning it creates a whole new calendar instead of using the last one.

This was an error in the useCalendarApp hook. If you download the latest version of @schedule-x/react, this problem should be fixed.
Thank you so much again, for providing the repro and useful insights. I wouldn't have solved this bug anytime soon without it


Adjust tile queries to allow for z16 metatiles

Specifically, we pack some stuff only into z17 and z18 tiles now. If we meta tile, then those need to be included in z16 (and perhaps marked that their min_zoom is only valid at z17, z18).
EG, in POIs:
             WHEN (aeroway_val IN ('gate')
                   OR amenity_val IN (
                 'atm', 'bicycle_rental', 'bicycle_parking', 'bus_stop',
                 'drinking_water', 'emergency_phone',
                 'parking', 'post_box', 'telephone', 'theatre',
                 'toilets')
                   OR highway_val IN ('bus_stop', 'traffic_signals')
                   OR historic_val IN ('memorial')
                   OR leisure_val IN ('playground', 'slipway')
                   OR man_made_val IN ('mast', 'water_tower')
                   OR office_val IN ('accountant', 'administrative', 'advertising_agency',
                'architect', 'association', 'company', 'consulting', 'educational_institution',
                'employment_agency', 'estate_agent', 'financial', 'foundation', 'government',
                'insurance', 'it', 'lawyer', 'newspaper', 'ngo', 'notary', 'physician',
                'political_party', 'religion', 'research', 'tax_advisor', 'telecommunication',
                'therapist', 'travel_agent', 'yes')
                   OR shop_val IN ('bakery', 'bicycle', 'books', 'butcher', 'car', 'car_repair',
                                 'clothes', 'computer', 'convenience',
                                 'doityourself', 'dry_cleaning', 'fashion', 'florist', 'gift',
                                 'greengrocer', 'hairdresser', 'jewelry', 'mobile_phone',
                                 'optician', 'pet')
                   OR tourism_val IN ('bed_and_breakfast', 'chalet', 'guest_house',
                                    'hostel', 'hotel', 'motel')
                   OR railway_val IN ('subway_entrance')) THEN 17
             WHEN (amenity_val IN ('bench', 'waste_basket')) THEN 18

Needs to be coordinated with scene file changes (to suppress these from display at zoom 16/17 as appropriate)

@nvkelso I discussed the implementation with @zerebubuth a little bit, and a good way forward would be to start including all pois in z16 tiles. For pois that don't have a min_zoom, we could set that to z18, or maybe flag that some other way?

All POIs have a mz_poi_min_zoom, don't they? Otherwise,
  WHERE
    {{ bounds|bbox_filter('way') }}
    AND mz_poi_min_zoom <= {{ zoom }}

The second part of the query would never be true?

Ah, never mind, I misunderstood earlier. If we just query for all pois that have a min zoom starting at z16, we'll get the behavior that we want.

Should we exporting the min_zoom property on all the POIs now, or only on the z17 and z18 features?

Related prs:

https://github.com/mapzen/vector-datasource/pull/539
https://github.com/mapzen/tilequeue/pull/73
https://github.com/mapzen/tileserver/pull/17

I exported the min_zoom property on all POIs in the vector-datasource pr.

We might want to consider adding min_zoom to the boundaries layer too, to handle moving the barrier=fence and boundary=fence to z16.

LGTM, let's merge this in and test on dev.
Regarding adding min_zoom to the boundaries layer – let's file a new issue for that for future consideration. It's related to this work, but involves a bunch of other decisions that can be separated.

When deploying this change, we'll need to run a script that takes all toi at z>16, and ensures that the corresponding tile at z16 is added.
Should I make a python script for this and stick it in the migrations directory?

Yup, sounds good.

@rmarianski: Do we need to prune any z17 and z18 tiles from Tiles of Interest list to support this z16 meta-tiling change, or was that already accomplished in our earlier pruning? I think it was, just double checking.

We shouldn't have do to worry about anything wrt pruning specifically for this change. The earlier pruning would have removed anything in this range with just 0 or 1 view.

I've tested on TopoJSON, GeoJSON, and MVT formats and all looks good.


Failed to call service tts/cloud_say.

type: custom:notify-card
target: tts.cloud_say
entity: media_player.vlc_telnet
label: write
card_title: Notify
in this way the card was working before but not anymore. it gives an error like this.
Failed to call service tts/cloud_say. extra keys not allowed @ data['media_player_entity_id']

type: custom:notify-card
target: tts.speak
service: tts.home_assistant_cloud
entity: media_player.vlc_telnet
label: x
card_title: xxx
worked this way


ci: Fix clean up logic from install_assets.sh

When install_asset.sh was added it included a wrong logic
removing tmp_dir, fix it to avoid disk space issues.
Fixes: #905
Signed-off-by: Jose Carlos Venegas Munoz<EMAIL_ADDRESS>

@grahamwhaley  @jodh-intel  ping.

lgtm

Random cri-o issue regarding to non output.
17:21:43 not ok 13 ctr device add
17:21:43 # (in test file crio.bats, line 530)
17:21:43 #   `[[ "$output" =~ "/dev/mynull" ]]' failed
17:21:43 # 0
17:21:43 # time="2018-02-08 17:21:38.832696169Z" level=debug msg="[graphdriver] trying provided driver "devicemapper""
17:21:43 # time="2018-02-08 17:21:38.833122083Z" level=debug msg="devicemapper: kernel dm driver version is 4.37.0"
17:21:43 # time="2018-02-08 17:21:38.833233487Z" level=debug msg="devmapper: Generated prefix: container-8:1-784941"
17:21:43 # time="2018-02-08 17:21:38.833248687Z" level=debug msg="devmapper: Checking for existence of the pool container-8:1-784941-pool"
17:21:43 # time="2018-02-08 17:21:38.833501096Z" level=debug msg="devmapper: Pool doesn't exist. Creating it."
17:21:43 # time="2018-02-08 17:21:38.926425572Z" level=debug msg="devmapper: loadDeviceFilesOnStart()"

@jcvenegas could you please open an issue regarding this CRI-O issue ? Unless it is already done ?

LGTM

@sboeuf  I created an issue on runtime, then we can create an issue in the specific repo where the issue is happening (that seems to be the agent) ?
https://github.com/clearcontainers/runtime/issues/997


Impove UI of /settings/services/databases and other services

Is your feature request related to a problem? Please describe.
Currently we have >130 database services.
It's hard to navigate through /settings/services/databases page
Example:

database name is shorten to much
20 services per page is to little (maybe to choose 10, 20, 50, as in Explore page)
service type filter would be usefull (MySQL, BigQUery, etc.)
database owners should be showed
database owner filter would be usefull (MySQL, BigQUery, etc.)

Describe the solution you'd like
Proposed above
Describe alternatives you've considered
Use current page
Additional context

covered in 1.2. @gnomolio feel free to explore the new page and let us know your thoughts


Create Footer

UPDATED ACCEPTANCE CRITERIA:
The footer displays the following:

The Copyright symbol, followed by a space, then: "2018 by Community Law Wellington and Hutt Valley" where "Community Law Wellington and Hutt Valley" is an external link to http://communitylaw.org.nz/
Internal links to the following site pages:

Privacy Policy (/privacy)
Terms of Use (/terms)

Note: External links open in new tab.
Behaviour:

When a link is activated, the footer triggers the load of the respective page.
When the current page is one of the internal pages linked to by the footer (e.g., Terms of Use), then that link is replaced in the footer by placeholder text (i.e., it is no longer a link).
Footer displays correctly for screen-size.
User can identify that it is a link

Designs:

Desktop: https://zpl.io/blpWnl5
Mobile: https://zpl.io/VKlqOQP

PREVIOUSLY:
Terms of Use
Privacy Policy
Manual Testing:
testCase1: Validate" Copyright 2018 by Community Law"
Expected result: Copyright 2018 by Community Law
Actual result: © 2018 Community Law
Result: Fail
testCase2: Validate "Community Law" is an external link to http://communitylaw.org.nz/
Expected result : Opens the page "http://communitylaw.org.nz/"
Actual result: Opens the expected home page http://communitylaw.org.nz/
Result : Pass
TestCase3: Validate "internal link - Privacy Policy (/privacy)" page
Expected result: Navigates to Privacy Policy page
Actual result:  It navigates to Privacy-Policy page
Result: Pass
TestCase4: Validate "internal link - Terms of Use (/terms)" page
Expected result: Navigates to Terms of Use page
Actual result:  It navigates to Terms of Use  page
Result: Pass
TestCase5: Validate "When a link is activated, the footer triggers the load of the respective page."
Expected result: When a link is activated,   triggers the load of respective page.
Actual result:  It does triggers the load of the respective page.
Result: Pass

Manual testing done for the ACCEPTANCE CRITERIA above.
Result: 1 Fail,
3 Pass

@latrellwhata  - to update the copyright to be realz and actual legal :)

Retested and Passed.Also branch  is ready to merge into master


Backfill doesn't work when there are many follows

Because we are doing filtering within the node code we only get 1 page of feed.  If that page has 100 follows then there will be nothing in the backfilled feed.

I think when we resolve #54 this will then be much simpler by filtering in cql in the same way you have achieved for #50.


Shadow only on bottom part

I want to draw shadow only on the bottom part on the component. How can I do ?

by settings x offset as 0, if i understand your issue correctly.

const shadowOpt = { x: 0, y: 5 };


Update help_command.rst

Summary

Checklist

[ ] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.

[ ] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ x] This PR is not a code change (e.g. documentation, README, ...)

@Chrovo

Thanks for the PR.
The conclusion is extremely vague and I don't feel like this is a good wrap-up. Likewise, the latter half of the first sentence is worded weirdly and ambiguous.


@conda-forge-admin, please rerender

[ ] I read the conda-forge documentation and could not find the solution for my problem there.

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/rectangle-packer-feedstock#7.


✨ Add read-only reentrancy guard modifier and enhance tests

Description
In (DeFi) protocols an issue can arise in reentrant view methods where reading stale or incorrect state can have major consequences.
A good writeup can be found here and how it affected Curve (and integrators): https://chainsecurity.com/curve-lp-oracle-manipulation-post-mortem/ and a summary with mitigations here: https://www.halborn.com/blog/post/what-is-read-only-reentrancy
Fortunately the remedy is rather trivial, simply add a nonReadReentrant modifier to vulnerable view methods that checks whether the reentrancy guard is locked, if so - revert. This prevents the reading of values during reentrancy.
I've enhanced the test suite to be more complete and enhanced ReentrancyGuard to have custom errors. For gas / bytecode efficiency I've opted to use a single error for both cases of reentrancy.
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge fmt?
[x] Ran forge snapshot?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

Thanks!


[Bug] If you leave out the donation site on a donation, it has disappeared when the error is thrown and you come back in

Summary
If you don't provide a donation site on a new donation,  then attempt to save,  the donation site field should be available.  It isn't.
Details
Currently if you select "Donation  Site", but don't select a donation site, and save,  you get something like this.

It should be more like this:

Criteria for completion

donation site field appears appropriately when there is an error on a new donation
tests to demonstrate this functionality

@cielf I would like to work on this one please!

Go for it!

Hi, sorry for the delay. I am getting some advice on the slack channel but I am almost done with this!


Problem Check failed: error == cudaSuccess (2 vs. 0) out of memory

I'm trying to reproduce the results of CRL, but when I run the test_kitti.m on matlab, I'm having the error bellow:
[...]
predict_flow3_s2_0_split
I0322 15:41:00.695804  2244 net.cpp:753] Ignoring source layer Downsample4_s2
I0322 15:41:00.695807  2244 net.cpp:753] Ignoring source layer flow_loss3_s2
I0322 15:41:00.695911  2244 net.cpp:753] Ignoring source layer Convolution8_s2_Convolution8_s2_0_split
I0322 15:41:00.695919  2244 net.cpp:753] Ignoring source layer Downsample5_s2
I0322 15:41:00.695920  2244 net.cpp:753] Ignoring source layer flow_loss2_s2
W0322 15:41:00.894263  2244 net.hpp:41] DEPRECATED: ForwardPrefilled() will be removed in a future version. Use Forward().
F0322 15:41:03.907975  2244 syncedmem.cpp:64] Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
Killed
This error appears on the prompt, since I opened matlab with the prompt, and the error happens in the line of the test_kitti.m file on matlab:
net.forward_prefilled();
It crashes the program and force me to close Matlab.
Has anyone ever had this error and knows a solution?
Tks.

Hello,
Did you manage to solve your problem. I am having the same issue here.
please Help
Thanks

Hi, if I remember well, it was really a problem of memory consuming on this process. While executing this line, before the error appears, try to check for the memory usage of your videocard.


Mobile - Update tabbar

Describe the task
Update tabbar:

Rename "Browser" to "dApps"
Include tabbar: Tokens, NFTs, Earning, dApps, Crowdloans
Update icon for Earning

Icon:

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-317-1486-merge-2024-02-20T04-08-17.ipa
Device test: IP 11
Validation passed


US 1974660: Previous versions cleanup - part 38

Project to clean up the previous versions for "Driver Reference" articles. Moving one file for "sd" technology.

Hi, @barrygolden - Please review and let me know if this is OK to merge. Thanks much!

Everything reviewed and approved
#sign-off


[Feature Request] Add an option to store only local accounts transaction data

Would be nice to have an option to store ONLY local accounts transactions in rippled.
To have a nice full history of particular local accounts (incoming/outgoing) and do not store all other transactions.
Bitcoin is doing exactly this, when you are fully synced and import some address it scans blockchain and adds certain transactions to your wallet.dat. And there is an option called txindex it allows you to index all transactions from the blockchain (just like how rippled is currently doing).

The main problem why this is relevant is:
when you want to store all history of your local account and set ledger_history to full rippled starts to eat storage I/O...
Here is an example:
On the mainnet:
After setting ledger_history to full and removing online_delete rippled rapes I/O on the host.. Constantly reading HDD... I've also set cache to 512mb of the RocksDB and set node_size to large but seems it's not helping at all.
I can't use SSD only HDD for now, because SSDs are already used for something else and I don't want to load them more.
Here is a snip of my config:
[node_size]
large
[ledger_history]
full
This is primary persistent datastore for rippled.  This includes transaction
metadata, account states, and ledger headers.  Helpful information can be
found here: https://ripple.com/wiki/NodeBackEnd
delete old ledgers while maintaining at least 2000. Do not require an
external administrative command to initiate deletion.
[node_db]
type=RocksDB
path=/home/ripple/.ripple/db/rocksdb
open_files=2000
filter_bits=12
cache_mb=512
file_size_mb=8
file_size_mult=2
#online_delete=65535
advisory_delete=0
I've set for now ledger_history back to defaults 256 and set online_delete to 65535, seems better.. But that means history of the monitored account will disappear after some time.
Maybe there is a devel patch to track only your own account history or what do I change in ripple code to achieve that?

Thanks for the request @gituser.   Unfortunately, I'm not aware of a simple patch to share at this time that achieves what you want.

@bachase, thanks for the quick reply.
Yes, unfortunately. The only workaround is to setup websocket over rippled, subscribe to your own account and save that txdata flowing into somewhere else..

Whatever happened to separating the rpc gear from the txn processing/p2p
engine?

@sublimator what do you mean by that?

Currently rippled is a monolithic program that does all the txn processing, p2p communications, consensus forming and also keeps  tx history in an sqllite database. There was talk of breaking it up. I'd imagine it would probably be much easier to offload a lot of the rpc / history processing to something implemented in a higher level language.

Full history is several TB of data (about 5 or so at the moment) and you'll have a very hard time to query it without SSD storage. Bitcoin on the other hand has about 0.1 TB of data to work through...
The main bulk is node data by the way, not transaction data (transactions are stored in the transactions.db sqlite database).
I agree that splitting out various parts might be an easier approach, https://github.com/rubblelabs/ripple for example is a relatively lean re-implementation of a lot of non-validation code of rippled in go.

Thanks @MarkusTeufelberger. I was waiting for your reply..
Would be nice to have at least an option to store local accounts transactions by default and not prune them when you prune other parts of the database.

Rippled currently has no notion of "local accounts". A workaround would be to just store history for all accounts for the time being, but in any case you need a better storage back-end than HDDs.
As I said, the bigger part of history is node data, I'm not sure if rippled will even serve data it only has in its sqlite databases if it doesn't have the actual nodes of that ledger as well. doing online-delete for individual ledgers is a quite expensive operation, since nodes are reused between ledgers, so to remove only stale ones, one needs to do a LOT of I/O.
Maybe once #2088 lands, RocksDB might be a more viable back-end again even for larger amounts of history. In general rippled requires really high I/O and does caching only internally instead of allowing to attach a redis or memcached server, so it is hard to improve on the I/O front without writing code.

A workaround would be to just store history for all accounts for the time being, but in any case you need a better storage back-end than HDDs.
What's the use of wallet.db file then?

It seems bitcoin was written much more better than ripple. Why not just copy some basic things from there? E.g. store wallet locally, (encrypt if necessary), store transaction data related to the wallet's accounts.
Implement similar DB backend and add prune option to limit overall disk space usage.

Just look inside, it stores mostly node identity related stuff, not user keys or anything related to signing transactions on RCL.
Rippled is not based on bitcoin code, so it would be kinda hard to "copy over some basic things".
Again, rippled does not have any idea what "wallets" even are, it is designed to store, process and serve all data of the network. Your features would be better suited for an actual wallet implementation than for a general network node like rippled.
Instead of pruning, rippled has the concept of online_delete since it is not UTXO based and also carries a fully hashed version of its complete state at every ledger close, which makes operating it more IO intense but allows it to drop nearly all historic data at any point in time and still remain functional.
Bitcoin-core's database backend is a slower version of RocksDB combined with simply dumping serialized blocks to disk, it already lead to a hard fork in their block chain and as you said they are processing a fraction of much simpler transactions per second compared to rippled (also their workload is far more bursty in nature due to their early design choices).
Last but not least, also Bitcoin implementations are moving towards this model, https://github.com/btcsuite/btcd is a good example or https://github.com/spesmilo/electrum-server - bitcoin-core is of course moving more at glacial pace, but also tries hard to de-couple wallet code from actual operations and consensus code.

@MarkusTeufelberger thanks for the clarifications.
For now I'm gonna use as a workaround - https://data.ripple.com/, because I can't afford running separate powerful server just for rippled with full ledger on RAID array of SSDs. It's not economically viable for me..

No need for RAID, a JBOD should be enough, but yes, running a data API server locally should be a workaround. Maybe it'll even work on HDD.

I do think it would be great to be able to configure your server to keep "vertical" slices of transaction history based on, say, a set of accounts or other objects to track. The server can follow the PreviouxTxnID for those transactions and could probably store only the objects and transactions necessary to reconstruct those transactions and not everything around them.

Should not be implemented by rippled - closing this.