[TF] Creating an RDS with name starting with duplo fails

Overview
[TF] Creating an RDS with name starting with duplo fails
refer images from
https://github.com/duplocloud-internal/duplo/pull/3541
Summary of changes
This PR does the following:

rds add validation for duplo prefix
do not allow double prefix

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-26835 Creating an RDS with name starting with duplo fails
Task linked: DUPLO-26856 [TF] Creating an RDS with name starting with duplo fails

console.log
apply.log
debug.log
`
resource "duplocloud_rds_instance" "au-wri" {
tenant_id                       = local.tenant_id
name                            = "duplodupl${var.db_name}-au-wri"
engine                          = var.db_engine
engine_version                  = var.rds_engine_version
size                            = var.rds_size_au
master_username                 = var.rds_master_username
master_password                 = random_password.db_password.result
store_details_in_secret_manager = false
encrypt_storage                 = true
enable_logging                  = false
multi_az                        = false
db_subnet_group_name            = var.db_subnet_group_name
#snapshot_id                     = var.db_snapshot_id
kms_key_id = data.duplocloud_tenant_aws_kms_key.kms_key.key_arn
availability_zone               = "us-west-2b"
}

resource "duplocloud_rds_read_replica" "au-rep" {
tenant_id          = local.tenant_id
name               = "${var.db_name}-au-rep"
size               = var.rds_size_au
availability_zone  = "us-west-2a"
cluster_identifier = duplocloud_rds_instance.au-wri.cluster_identifier
}
resource "duplocloud_rds_instance" "rds-pr" {
tenant_id                       = local.tenant_id
name                            = "duplo${var.db_name}-mysql"
engine                          = 1 # postgres
engine_version                  = 15.5
size                            = "db.t3.small"
master_username                 = var.rds_master_username
master_password                 = random_password.db_password.result
store_details_in_secret_manager = false
encrypt_storage                 = true
enable_logging                  = false
multi_az                        = false
db_subnet_group_name            = var.db_subnet_group_name
#snapshot_id                     = var.db_snapshot_id
availability_zone  = "us-west-2a"
}
`


Error cloning repo

Hi
When I try to clone the repo, I get an error when it gets to the data/test/Mu - Too Bright/bass.wav file
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0xb01dfacedebac1e pc=0xca0b0]
I have already seen the posts that suggest trying git lfs pull, which I have tried without joy.  See below:
fatal error: still in list
runtime stack:
runtime.throw(0x495d50, 0xd)
/usr/local/go/src/runtime/panic.go:527 +0x90
runtime.mHeap_AllocSpanLocked(0x6b0ea0, 0x80, 0xc820110000)
/usr/local/go/src/runtime/mheap.go:590 +0x40c
runtime.mHeap_Alloc_m(0x6b0ea0, 0x80, 0x700100000000, 0xc81fff77ff)
/usr/local/go/src/runtime/mheap.go:425 +0x1ac
runtime.mHeap_Alloc.func1()
/usr/local/go/src/runtime/mheap.go:484 +0x41
runtime.systemstack(0x700008dc6e88)
/usr/local/go/src/runtime/asm_amd64.s:278 +0xab
runtime.mHeap_Alloc(0x6b0ea0, 0x80, 0x10100000000, 0xc82001d220)
/usr/local/go/src/runtime/mheap.go:485 +0x63
runtime.largeAlloc(0x100000, 0xc800000001, 0x1)
/usr/local/go/src/runtime/malloc.go:745 +0xb3
runtime.mallocgc.func3()
/usr/local/go/src/runtime/malloc.go:634 +0x33
runtime.systemstack(0xc820021500)
/usr/local/go/src/runtime/asm_amd64.s:262 +0x79
runtime.mstart()
/usr/local/go/src/runtime/proc1.go:674
Git version is 2.31.1 on macOS 10.15.7.
Any help would be much appreciated.
Cheers
Matt

@easablade, it potentially looks like an issue in git or git lfs installation on your system.

I will suggest you to try cloning any random repository and check if it is working fine.
Plus, given the error says mHeap_AllocSpanLocked, runtime/malloc.go, etc point that you may not enough RAM  in your system or it is unable to allocate. Probably restart the machine once if you don't have enough RAM?
Upgrade/Reinstall your git from brew or your whichever way you manage your dependencies.

@skbly7
Awesome, thanks for that - it appears to have been a memory issue.  Restarted machine, cloned absolutely fine.
Cheers
Matt


node: symbol lookup error: /usr/local/lib/node_modules/test-ai-classifier/build/Release/test-ai-classifier.node: undefined symbol: TF_Version

Hi @jlipps,
I'm getting following errors when running my test script written in python for mobile app automation using test-ai-classifier as a customrFindModule in appium. However, my test script run fine it just break where i'm using test-ai-classifier and also it terminate my appium server after following errors.
Error logs in Appium Server
node-pre-gyp info This Node instance does not support builds for N-API version 4
node-pre-gyp info This Node instance does not support builds for N-API version 5
node-pre-gyp info This Node instance does not support builds for N-API version 4
node-pre-gyp info This Node instance does not support builds for N-API version 5
2020-02-16 14:08:08.238080: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-02-16 14:08:08.274034: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-02-16 14:08:08.274316: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x454f530 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-02-16 14:08:08.274337: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
node: symbol lookup error: /usr/local/lib/node_modules/test-ai-classifier/build/Release/test-ai-classifier.node: undefined symbol: TF_Version
System Info:
OS: Ubuntu 18.04.4
OS Type: 64-bit
Processor: Intel® Core™ i5-6300HQ CPU @ 2.30GHz × 4
Graphics: Intel® HD Graphics 530 (Skylake GT2)
GNOME: 3.28.2
Node version: v10.15.0
NPM version: 6.13.7
Appium version: 1.16.0
TensorFlow: TensorFlow<EMAIL_ADDRESS>(from<EMAIL_ADDRESS>So, how I can solve these issues?
Thanks in advance!

hi bro, you should older version plugin is 2.1.1.
I don't know why since version 3.0.1 there is an error of Undefined symbol: TF_Version.
@jlipps  can you help this question?

@dutradev Yes, I'm able to use test-ai-classifier plugin with 2.1.1 version but not able to use it with 4.0.2. I don't know why.

@MMujtabaE
I think from version 3.0.1 they added "obj detector model" that should be able to make TensorFlow build errors on ubuntu.

I am facing this issue in classifier 4.0.2. Kindly help me :(

Same issue for me
undefined symbol: TF_Version


Ubuntu 2X.X: Chromium installed through Snap does not have access to /tmp/

Not really an issue with this project, but thought you'd might want to know.
Currently, access to any partition besides /home/ has been disabled on Chromium on Ubuntu. There is only the snap package (the debs have been removed some time ago), so there doesn't seem to be any obvious workaround for this.
Annoyingly, when Chromium fails to load the temp-file of a file copied to /tmp/html2image/ it just renders a completely blank transparent screenshot without an error-message.

Just reproduced this issue unknowingly. It is really annoying that the transparent picture gets rendered silently. My workaround was to set  temp_path='.' so it uses my project's folder for temporary files.
Thanks for pointing me in the right direction


Extract all DateFormatter from the entire project to DateExtension with clear extension function names

I don't think there are any Date Formatters which can be added to the DateExtension file. @waseefakhtar

Any update @waseefakhtar ?


change symbol from code

Is there a way to programmatically change the symbol of the chart? I have a v-model to the chartOptions but whenever I change the symbol property, it has no effect. I could not find any solution or applySymbol function.

Hey! Check the link.

awesome, thank you for the quick response. I am using composition API, will try it out shortly using the :key binding. I was only updating the options.symbol property and that alone had no effect.

in case anyone is looking for a way using composition API, here is how I got it to work thanks to ehsan-shv options API example.
`

{{ symbol }}

`

Great! Thanks!

I there also a way to do the same for the timeframe? Tried the same approach with the "interval" property on the chart but thats not working, unlike the symbol.

What do you mean by "timeframe"?

the interval. Like 4H, 1H and so on. the widget has an interval property but when I bind it and change the value it does not refresh.

Could you please make a demo on Codesandbox?


Cannot select/copy from readonly portion in diff editor inline view

VSCode Version: Code 1.14.1 (2648980a697a4c8fb5777dcfb2ab110cec8a2f58, 2017-07-13T19:08:57.197Z)
OS Version: Darwin x64 16.6.0
Extensions:

Extension
Author (truncated)
Version

githistory
don
0.2.1

Steps to Reproduce:

Compare any two files.
Make the diff view inline.
Try to select/copy from the readonly portion with which the file is being compared. Does not work.

Reproduces without extensions: Could not check

Dup of https://github.com/Microsoft/vscode/issues/8226


Logging improvements

The KMS logging story is really bad right now (see #236). As an MVP it uses the most minimal logging solution available in Rust right now, but there are a number of others worth considering.
Problems

TTY dependent: the current logger detects a TTY and disables logging regardless of severity level, making it extremely difficult to use under systemd (see #236). This should get fixed ASAP.
unstructured logging: the current logging solution is based on the Rust log crate which is a fairly simple least common denominator solution
feature limited: the current logger logs to a TTY, and that's about it. This is "fine" with the hack described in #236 in conjunction with systemd-journald but ideally the logging would be much more flexible/configurable

Structured Logging

The log crate presently used by the KMS is exploring structured logging support: https://github.com/rust-lang-nursery/log/issues/149
slog is a structured logging framework for Rust

Alternatives

tokio-trace is an advanced asynchronous logging framework for Rust which is compatible with the log crate. It definitely seems like the way to go if the KMS were to switch to tokio (which should hopefully be possible soon), but can be used without tokio via the existing log-crate compatibility.

Pretty much the whole stack right now uses the log crate. This makes tokio-trace seem particularly appealing for retrofitting more advanced logging immediately, as until https://github.com/rust-lang-nursery/log/issues/149 is sorted out it provides both backwards compatibility with log and a much more advanced/comprehensive logging solution.
Alternatively, slog seems like the best option for a native structured logging solution. We don't presently use tokio, so we wouldn't immediately benefit from the asynchronous tracing/logging support in tokio-trace.


Develop a solution to integrate/create Thimble's tutorial feature in Bramble

Thimble has a neat tutorial feature that we need to implement in Bramble to maintain parity with Thimble.
We need to figure out how to do this i.e.

whether we can use most of existing Thimble code or
implementing it from scratch or
a combination of the two

also assigned to @AJDBenner

The mechanism behind this is pretty interesting.
Thimble "makes" have tags, little pieces of metadata that can help filter makes. A tutorial is simply a separate thimble make that is connected to a thimble project by including a special tag that includes a link to the make that will be the tutorial.
This system needs to be adapted, and I figure it could work in one of two ways:

We allow thimble to use it's own tutorial pane, and set up a more sophisticated postmessage proxy between it and brackets to allow the more advanced tutorial features (like jumping to a line in the code from a link in the tutorial) This is probably the simplest implementation
We use the same mechanism thimble uses to load a tutorial if it exists, and postMessage it to a brackets extension that creates a pane inside brackets itself.

For more details on this, see https://support.mozilla.org/en-US/kb/thimble-tutorials

@sedge who creates these makes?
Do we need the "Publish" feature to be implemented in Bramble for this to work so that custom makes can be used as tutorials? Or is that out of scope?

Anyone can create a tutorial, but it is a two step process.

Create a thimble make that will be the tutorial
Create the make that the tutorial will guide the user through.

Check the link I posted for more details.

The tutorials also include some custom JS to do line highlighting in the editor when you hover over certain things in the tutorial text.  I don't know how it was doing that, but probably by talking directly to the CodeMirror instance or using postMessage?  Look into that, too.
I'd copy what https://github.com/gruehle/MarkdownPreview does and use a split panel in the editor.  You can probably load the tutorial in there and then talk back and forth with the editor over postMessage in your extension.

The tutorials were communicating directly with the CodeMirror instance, which is why I think we can probably just proxy those commands to the brackets CodeMirror instance as a shortcut to getting this working. Is that too much of a quick fix?

Do what works for a first attempt.

Seems like we can use almost all of thimble's existing code. However, a few fixes need to be done:

Uncaught TypeError: undefined is not a function needs to be fixed. It crashes here. This can probably be fixed by using @sedge's fix above
https://support.mozilla.org/en-US/kb/thimble-tutorials#w_controls-for-the-user shows that user control buttons need to exist, however, they cannot be seen (even in mozilla's thimble). They need to be made visible and their functionality tested.


Operator"" _str compilation error

I am trying to compile my app against hello_imgui checked-out as a submodule on Windows.
I am surprised it's complaining out of the box about the following statement in pnm.h :
using detail::literals::operator"" _str;
"C:\PROGRA~1\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx86\x64\cl.exe"  /nologo /TP  -DHELLOIMGUI_HAS_OPENGL -DHELLOIMGUI_USE_GLAD -DHELLOIMGUI_USE_GLFW -DHELLOIMGUI_USE_GLFW_OPENGL3 -DIMGUI_IMPL_OPENGL_LOADER_GLAD -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -IC:\...\extern\imlibs\hello_imgui\src\hello_imgui -IC:\...\extern\imlibs\hello_imgui\src\hello_imgui\.. -IC:\...\extern\imlibs\hello_imgui\external\imgui -IC:\...\cmake-build-debug-visual-studio\_deps\glfw-src\include -IC:\...\extern\imlibs\hello_imgui\external\SYSTEM -IC:\...\extern\imlibs\hello_imgui\external\OpenGL_Loaders\glad\include /DWIN32 /D_WINDOWS  /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 /W4 /Zc:preprocessor /permissive- -D_CRT_SECURE_NO_WARNINGS -std:c++17 /showIncludes /Foextern\imlibs\hello_imgui\src\hello_imgui\CMakeFiles\hello_imgui.dir\internal\backend_impls\opengl_setup_helper\opengl_screenshot.cpp.obj /Fdextern\imlibs\hello_imgui\src\hello_imgui\CMakeFiles\hello_imgui.dir\hello_imgui.pdb /FS -c C:\...\extern\imlibs\hello_imgui\src\hello_imgui\internal\backend_impls\opengl_setup_helper\opengl_screenshot.cpp
C:\...\extern\imlibs\hello_imgui\src\hello_imgui/internal/pnm.h(1046): warning C4267: 'argument': conversion from 'size_t' to 'const uint8_t', possible loss of data```
C:\...\extern\imlibs\hello_imgui\src\hello_imgui/internal/pnm.h(1076): error C3688: invalid literal suffix '_str'; literal operator or literal operator template 'operator ""_str' not found

I haven't found authoritative info about the proper way to import literal operators but I tried locally replacing the using statements with:
using namespace details::literals and that makes the error go away.

could I be hitting a cross platform glitch? Am I missing a compiler flag or something?
c++ 14 has std::literals::string_literals::operator""s - why not use that one instead by the way? Is there a commitment to not exceeding c++11 compat ?

Hi,
Thanks for the report.
I guess that this issue should be reported to the original author of pnm. Could you please report this to him?
Since its license is MIT, we could also edit the file and replace _str by _s , since HelloImGui requires C++17 (but pnm is made for C++11).
However, let's wait for a few days, until we see if the original author answers with a possible patch :-)

In the meantime, I push

Thanks for the prompt reply. I just filed an issue over in the pnm project as you suggested:
https://github.com/ToruNiina/pnm/issues/6
I still find it suspicious that I am the first one reporting this on what seems like a basic windows use case. I can't be the first one to have attempted that?

Well, you probably just got an update on your compiler, which is not yet available on github action runners.
I did not get this error yet, although its being compiled on lots of compilers at each push

Thanks for the temporary fix - I just want to point out there are a number of such statements in that same file and all need replacing for compilation to pass in my case.

Thanks


VDI-1714 QA backup activity added a passphase switch for UCP backup

Backup of UCP now requires a passphrase to be passed to encrypt data and comply with security best practices.

Can the password be stored in the vault, instead of in the clear?

Making alteration suggested by Gabriel.

Ready once again for review.

I've made the alteration in restore_ucp.sh.j2 template to include passphrase, I'm just in the middle of testing restore.yml.

Note: backups file has been corrected and the restore is being re-run. Will provide feedback once complete. I have had to re-create my llb hosts and reflect what I have in my own ucp client bundle as new load ballancer hosts weren't part of the subject alternative name list therefore not being picked up.

Restore was successful UCP,DTR and workers recovered. Please approve.

@moyni77 On my side, images are not restored. The fact that the playbooks finishes successfully does not mean that the restore was successful. I cannot approve unless you tell me you have verified that users are restored, and DTR images are restored

Users, and the repositories recover fine. However the images-folder isn't populated, This isn't in connection with the alteration I've had to make to include a passphrase for UCP. Investigation as to why images aren't restore is in progress.

Using DTR version 2.6.1 images are restored successfully and tags 3.4. and 2.6 are visible in our previously created images repository. Please can you now approve this pull request. For the interim release we will pin to 2.6.1.

let's see what the other say tomorrow

I am happy to commit this as the passphrase is working correctly - we can open another JIRA/PR for the problems with restore

Created https://jira.simplivt.local/browse/VDI-1806 for the DTR image restore defect.

approving given the jira you created


Mazda: query FW versions on non-OBD bus

@Jafaral want to take a look into this? We'd like to be able to query on bus 0 essentially. First step would be to just see if it works!

@sshane will do. I'm away from my car for a couple of weeks at least.

@sshane, how exactly should I run this test?

@Jafaral add a field called bus=0: https://github.com/commaai/openpilot/blob/master/selfdrive/car/mazda/values.py#L69

moved to https://github.com/commaai/openpilot/issues/26643


how to add Cerebro to the beginning of Centos 8

I want Cerebro to start when I boot or reboot the server and I can't find the solution. I've tried several methods.
They can help me

You have to write a systemd service : https://systemd.io/
Something like
[Unit]
Description=Cerebro
Documentation=https://github.com/lmenezes/cerebro
After=network-online.target

[Service]
User=cerebro

PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/run/cerebro
ExecStartPre=/bin/chmod 700 /var/run/cerebro
ExecStartPre=/bin/chown cerebro /var/run/cerebro
ExecStart= /opt/cerebro/bin/cerebro -Dhttp.port=${CEREBRO_PORT} -Dhttp.address=${CEREBRO_LISTEN} -Dconfig.file=/etc/cerebro/cerebro.conf
ExecStopPost= /bin/rm -rf /var/run/cerebro
EnvironmentFile=/etc/default/cerebro

PrivateTmp=true
ProtectHome=true
ProtectSystem=full

Nice=10
CPUAccounting=true
Restart=on-failure

[Install]
WantedBy=multi-user.target

if already can start cerebro manually, the unit file can be as simple as
[Unit]
After=network.target
Description=Cerebro Plugin for Elasticsearch

[Service]
ExecStart=/usr/share/cerebro/bin/cerebro
Restart=on-failure

[Install]
WantedBy=multi-user.target

I'll close this issue. @garihogar if you still don't manage to make it work, feel free to reopen it


Ensure admins have proper permissions for deleting/editing all data

Specifically, they don't seem to be able to edit:

users (#3851)
keys (https://github.com/deis/deis/pull/3931#issuecomment-117844621)

seems to have been fixed. let's open specific bugs for v2 if this pops up again.


Feat: Want to add the toolptip for all icons on blogpost , want to fix bugs like dark mode in create blog , image not displaying in comment ,

Describe the feature
I want to add the tooltip to every icon near the image like reaction , save , share and comment
I want to fix bugs like the placeholder color is not changing in dark mode
The comments sectino can't accessing the image
Add ScreenShots

https://github.com/user-attachments/assets/4ab0c89f-b8e3-44da-9735-aa4b08960a35
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSoC'24 contributor
[X] I want to work on this issue

@Ayushmaanagarwal1211 go ahead


Event handlers: Status task to version settings

Changelog Description
Fix attribute name in settings model.
Additional info
Status to version settings model has correct attribute name asset_types_filter instead of asset_types_to_skip.
Testing notes:

Task to version status propagation works.

DISCLAIMER: As I'm thinking about it, this may actually break stuff because of default settings Version > Task and Task > Version status sync. We should probably (at both places) have Allow list and Deny list, so it can work both ways.

Changed the PR to simple fix similar to https://github.com/ynput/ayon-ftrack/pull/121 and created new PR https://github.com/ynput/ayon-ftrack/pull/123 with enahnced logic.


Users can forecast on closed and resolved subquestions / conditionals

Users are still able to predict on closed and resolved subquestions / conditionals
Both the back end doesn't reject the prediction (which it should), but also the UI allows the input to happen.
Simplest solution is to check the status of each individual subquestion and activate / deactivate the user input accordingly.  @ncarazon
Back end change should be to validate that a question is open as part of the prediction process. @lsabor

Front end change works properly. I'll add the back end change now.

Oh, @lsabor, sorry. Forgot about the BE part. I removed the Awaiting QA label

No problem - closing as complete.


Provide the CSS as LESS with variables

Hey there,
I have the problem, that my newsletter needs to have a 20px padding on text-pad elements. If I overwrite the padding there are artefacts on the complete table width when using a two col layout. So I tried to change all 10px paddings to 20px which did not work too.
What about providing the CSS file as a LESS files with just a few variables where one can set margins, widths, etc. and the rest of the stylesheet gets calculated?
Cheers
Philipp

This is really old know. When can we expect a SCSS version?

+1 for SCSS verison. I need to change the grid size slightly (to make it around 460px instead of 580px). We shouldn't need to calculate all the column widths manually for this.

+1

+1

I've been using this "unofficial" SASS version of Ink that is really well done. https://github.com/faustgertz/sassy-ink
It's very well laid out with separate files, functions and variables. And it compiles to an essentially byte-for-byte identical ink.css

+1 for an Official Sass version, I ported things over to Sass too, but not sure I'm breaking anything in the compilation.

I agree Sass should just be in the official repo, but @LucasKA, you should take a closer look at sassy-ink they put a lot of effort into setting it up to build a css file that is provably identical to the official ink.css

@elidickinson I'll check it out, I just did a Diff on Ink's CSS with my compiled output and it's verbatim other than the variables I set in my own Config.
I will check out Sassy-Ink, but I combined the Ink framework with Grunt-Email-Workflow for building/previewing. Not sure how to maintain it all. lol.
https://github.com/leemunroe/grunt-email-workflow

@LucasKA That looks nice. The test/build process is the only missing piece for us so this might finally be the thing that gets me to really learn grunt

@elidickinson No real need to learn Grunt per se, the tool that Lee Monroe built is pretty ready to go, I just converted Ink's Monolithic CSS files into Scss partials, and the tool builds it and Inlines it.
Maybe I could do Sassy-Ink as a submodule of the build tool, haha.  I combined this project and Sassy-Ink
https://github.com/LucasKA/mail-builder
These two projects were MADE to go together, but I'd love some feedback and or questions and stuff.

Hey friends, to close the loop on this, Foundation for Emails 2.0 is fully Sass powered. You can check out the development branch for it here.
We'll have a more formal announcement later in the week on the ZURB blog with a rundown of what's new from version 1.0 to 2.0.


How to know when is the sync-up done?

Even the sync-up is done it continuously go on, so what is the way to determine that the sync-up is done and make the code stop from that point of time?
If we have three masters so we will have to syncup to each master individually or we provide all IPs at one place using commas as we used to do in older version?

Send info replication to master node, and check the master_repl_offset and the offset in slaveXXX .
Yes, currently need to do this. There may be improvements in future versions, possibly a helper script.

@suxb201 :

Thanks for the input, don’t we have this already handled in the code to stop it, since i see it always running?
What if we have different no of masters in the source and destination cluster, will it not be that some masters has to have more no of keys then?

@ayasha05

Some users will have write traffic all the time, and they may want to use redis-shake to continuously synchronize data.
The number of redis-shake you start should be the same as the number of nodes on the source cluster. Each redis-shake could send commands to all destination nodes, according to the key distribution rules of redis.  https://redis.io/docs/reference/cluster-spec/#key-distribution-model

@suxb201 : Thanks for the quick response!!

So I can stop the process once the rdb file sync-up is done?
I just used redis-shake with 3 master-slave configuration and tried to put 1 master for slave and other regions 1 master for target, but I don’t see that all the destination masters has distributed data, the data was only copied in one of the master and two master were blank, though I also thought the approach you mentioned should work that it will equally make the slot according to no of master in destination but it was not like that, have i missed some configuration ?

@ayasha05

Yes.
Maybe you have the same number of source clusters as your destination clusters, so their slot distributions are the same, so one node's data will only be sent to one node.


Perform doFetchModBlockedList in splash.

Fixes
Issue Number: https://github.com/lbryio/lbry-desktop/issues/7668

What is the current behavior?
What is the new behavior?
Other information

PR Checklist

Toggle...
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Please check all that apply to this PR using "x":

[ ] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[ ] I added a line describing my change to CHANGELOG.md
[ ] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

This didn't quite work. Profiling shows storeList (with nested forEach) was a huge bottleneck in the dispatched action.
First, a simple for loop I think can be a lot faster than the semantic iterator, but I also wonder if putting an async promise inside would give the event loop some breathing room.

As discussed with @jessopb this will be on hold for now.


Stream theories

Current PWL can take UUID as --id argument
All theories should append file with UUID name in JSONL format.
401d68be-33aa-46b2-99db-c75e062a9ca9.jsonl
As MCMC generates a theory, it is added to the file
{ "theory": "..." }
Streaming is in /tmp folder with centaur folder and given id
If id argument is not provided, streaming is skipped

@StphnWright I am going to need a flag that indicates of starting and ending of stream, so I think it is better to add type in the JSON.
{ "type": "system", "event": "stream_start" }
{ "type": "theory", ... }
{ "type": "system", "event": "stream_end" }

What do you think something like that 👆?

Let's also use utf-8 for encoding

Pushed updated pwl_reasoner.cpp.
In this update to pwl_reasoner, we're moving from manually creating JSON streams to having them automatically generated during the reasoning process with the specified requirements:

UUID Integration:

All theories should append the file with UUID to create/identify stream files
Makes each reasoning session uniquely identifiable

File Structure:

Uses JSONL format (one JSON object per line)
Stored in temporary directory structure
Named after the session UUID

Dynamic Generation:

As MCMC runs and generates theories, it automatically appends to the JSONL file
Each theory state outputs in the following format:

{"type":"axiom","axiom":"∀x₁((man(x₁) → mortal(x₁)))","description":"Added logical form to theory","rate":"-75.570909","created_at":"2024-12-26T18:32:00Z"}
{"type":"axiom","axiom":"∀x₁((man(x₁) → mortal(x₁)))","description":"Best theory after optimization","rate":"-75.529207","created_at":"2024-12-26T18:32:00Z"}
{"type":"axiom","axiom":"∃x₁(∃x₂(name(x₂) ∧ arg1(x₂)=x₁ ∧ arg2(x₂)="Socrates") ∧ man(x₁))","description":"Added logical form to theory","rate":"-2233.730509","created_at":"2024-12-26T18:32:00Z"}
{"type":"axiom","axiom":"∃x₁(∃x₂(name(x₂) ∧ arg1(x₂)=x₁ ∧ arg2(x₂)="Socrates") ∧ man(x₁))","description":"Best theory after optimization","rate":"-2233.648105","created_at":"2024-12-26T18:32:00Z"}
{"type":"query","axiom":"∃x₁(∃x₂(name(x₂) ∧ arg1(x₂)=x₁ ∧ arg2(x₂)="Socrates") ∧ mortal(x₁))","description":"Query result","rate":"1.000000","created_at":"2024-12-26T18:32:00Z"}

Optional Streaming:

Only generates streams if --id is provided
Otherwise, runs normally without stream generation


Macro redefinition for WIN32_LEAN_AND_MEAN

Ln 50 in TaskScheduler.cpp assumes that the 'WIN32_LEAN_AND_MEAN' and the 'NOMINMAX' macros are not previously defined.
It should read:
#ifndef WIN32_LEAN_AND_MEAN
    #define WIN32_LEAN_AND_MEAN
#endif

#ifndef NOMINMAX
    #define NOMINMAX
#endif

Good catch. Fix on it's way, thanks!


Running cleanup by writing cleanup at the end leads to the exit code of the application being forgotten. Using...
trap "cleanup" EXIT

would be much nicer. That way your cleanup code gets run on any termination as well as you don't need something like exit_code=$?, exit $exit_code.
Why? This would be useful for use use in scripts. A wrapper should interfere with the wrapped application as little as possible, i.e. no extraneous output in most cases (unless debug, unless some special error) and forwarding the exit code of the wrapped application.

closed via #32


Reinstate Exception Manager

Motivation and Context
Exception Manager had been removed because it didn't play nicely with the Google PubSub Spring Integration libraries.
What has changed
Put Exception Manager back.
How to test?
Try creating exceptions on each topic by sending in messages for non-existent case IDs/QIDs, and by sending in malformed JSON.
Links
Trello: https://trello.com/c/4EF6DyLO

 Death to Rabbit: Exception Manager follow-up / part two (5)

No longer required as implemented as part of: https://github.com/ONSdigital/ssdc-rm-caseprocessor/pull/47


chore(main): release 2.4.0

:robot: I have created a release beep boop
2.4.0 (2024-06-18)
Features

improve build webhooks (#113) (857c40d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ai4os/ai4-dashboard/releases/tag/v2.4.0 :sunflower:


Question: isActive but ignore params

To use isActive, I have to specify values for path parameters, or it will return false. But what if I want to find out whether a route is active regardless of the params? Is that possible?
For example, if I have a route {name: 'userDetail', path: '/user/:id'}, then isActive('userDetail') returns false when I'm on the URL /user/123.
(Apologies if this isn't the right place to ask questions.)

In that case you might not need isActive and instead do router.getState().name === 'userDetail'?

That'll work -- thanks for the quick reply!


Close Connection

Hi dears ,How can we close connection of a pynetbox connection .Thanks

Hi, pynetbox is just sending http(s) requests, there is no persistent connection that needs to be closed after completing your tasks.


Fix issues with wrong positions for empty self and block

Fixes https://github.com/scalameta/scalameta/issues/2279
Otherwise, we would include tokens that do not belong to a tree.

@tgodzik how did the test behave before this change?

@tgodzik how did the test behave before this change?

The test would include def for Self and => for Block.
I changed the problematic places to use empty position on purpose, which means in Scalameta that the end is before the start. This worked in autoPos without optional braces, but seems quite complex to get right this way when we add the additional indentation tokens.

@tgodzik
I found that there is an issue with pointPos in Indent and Outdent. It seems that at least they have to point on LF token in scannerTokens because they actually produced at the moment oh handling newline.
I have a fix for that.
However, it isn't fully correct as there are more LF that appears in token ranges.

Thanks @dos65 ! I merged your fix!


proposal: x/tools/go/analysis/analysistest: improved, module-aware API

[Status: rough draft]
[Split out from preceding proposal #61324]
The analysistest package is too monolithic: if you don't like the Run function, you're on your own. Now that (assuming #61324 is accepted), it is possible to call checker.Analyze programmatically, it should be possible to break the task of testing down into three steps--load, analyze, assert--and allow clients to replace the first and/or third steps with their own logic if they prefer.
Also, the existing API requires GOPATH layout, and cannot use modules. (It is tempting to honor a go.mod file within testdata, but this causes the testdata tree to belong to its own separate module, leading to tests that don't work when run from the module cache, which is bad practice.)
We propose to add a new analysistest API--alongside its existing ("legacy") API--as follows:
package analysistest // golang.org/x/tools/go/analysis/analysistest

// Test loads packages from the directory tree specified by file using
// [Load], analyzes them using [checker.Analyze], then checks
// expectations of diagnostics and facts in comments using [Check].
// Finally it returns the result of [checker.Analyze]. Errors are
// reported through t.Fatal.
//
// The file may be:
//   - a directory,
//   - a .txtar archive file, which is unpacked somewhere beneath t.TempDir(), or
//   - a relative path to a .go file, which is loaded as an ad hoc package.
//
// This function is provided for convenience. Callers with more
// complicated requirements should call [Load], [checker.Analyze], and
// [Check] directly.
func Test(t *testing.T, file string, a *analysis.Analyzer) *checker.Result {
	// Create test data tree from file argument
	dir, pattern := expandFile(t, file)

	pkgs := Load(t, dir, pattern)

	result, err := checker.Analyze([]*analysis.Analyzer{a}, pkgs, &checker.Options{})
	if err != nil {
		t.Fatal(err)
	}

	// Check facts, diagnostics, and suggested fixes.
	for _, act := range result.Roots {
		if act.Err != nil {
			t.Errorf("error analyzing %s: %v", act, act.Err)
			continue
		}

		Check(t, act, &CheckOptions{RootDir: dir})
	}

	return result
}

// Check inspects a single completed checker action and
// verifies that all reported diagnostics and facts match those
// specified by the contents of "// want ..." comments in the
// package's source files, which must have been parsed with comments
// enabled, and that all suggested fixes match the contents
// of any .golden files adjacent to the source files.
func Check(t *testing.T, act *checker.Action, opts *CheckOptions)
type CheckOptions struct{
	// RootDir is the root directory of the test source tree.
	// It is stripped as a prefix of each filename before
	// they are compared for equality or presented in error messages.
	RootDir string
}

// Load loads packages, their tests, and dependencies
// from syntax using packages.Load with an appropriate mode.
// On success, it writes list/parse/type errors to t.Log
// as they may be helpful when debugging a failing test,
// but may be expected in test cases of error scenarios.
//
// Failures are reported through t.Fatal.
func Load(t *testing.T, rootdir string, patterns ...string) []*packages.Package

type LegacyResult struct{ ... } // same declaration as previous internal/checker.TestAnalyzerResult.
type Result = LegacyResult

I have shown the body of the Test function to indicate that it is largely a helper function, a recipe of four steps: (1) expand the file string to a directory tree; (2) load packages from it; (3) analyze; (4) apply assertions based on the source file tree. Users who decide that this function isn't sufficient for their needs can easily inline or fork it; steps 2-4 are all now public functions.
The LegacyResult declaration warrants some explanation. Previously, Result was an alias for internal/checker.TestAnalyzerResult, and the creation of the public alias accidentally published the internal type, which has several public fields. Unfortunately we can't retract it, so this proposal merely changes its name to LegacyResult, to emphasize its status. The Result alias is kept for compatibility, but we would prefer not to refer to it by this name as it may be easily confused with the new checker.Result type.
https://go.dev/cl/509395 contains a prototype of the new API. A few analyzers' tests have been updated to use the new API.
Questions still to resolve:

compatibility: will old testdata inputs continue to work? How can we automate the transition?
the load/analyze/check model wants the load step to result in a tree of files, either because it was already there in testdata, or because it was expanded from a txtar file. But the existing checkSuggestedFixes uses txtar files, and they don't nest. what to do?

The loop over result.Roots in Test seems unobjectionable, so in addition to (or instead of) Check, you could move it into its own function:
func CheckResult(t *testing.T, result *checker.Result, opts *CheckOptions)

You should comment on why you don't build the load functionality on top of go/packages/packagestest.
Perhaps the go tool should ignore go.mod files in testdata directories. Is there any reason to honor them?
As a workaround, you could accept an alternative filename, like _go.mod, and rename when you copy the tree into the temp dir.
txtar files nest if you make them nest. You could say that a line of the form -- BEGIN filename -- starts a txtar file that includes everything up to a line -- END --.

@timothy-king's https://go.dev/cl/577995 may be a simpler approach to this problem.


Define a standard payload for writing and editing user genesets

@vincerubinetti I tried to organize the proposed fields as we discussed last week. Let me know if it looks alright.
Creating a new geneset
Required fields:

field
type
notes
default

name
string

genes
list
my_gene, ncbi, symbol, ensembl, or uniprot ids

Optional fields:

field
type
notes
default

description
string

is_public
string

True

Derived fields

field
type
notes

author
string
obtained from user authentication

taxid
integer
retrieved from mygene.info

Updating genesets
Optional fields:

field
type
notes

name
string

description
string

is_public
string

genes
list
my_gene, ncbi, symbol, ensembl, or uniprot ids. Overwrites previous list.

add
list
my_gene, ncbi, symbol, ensembl, or uniprot ids  to add

remove
list
my_gene, ncbi, symbol, ensembl, or uniprot ids to remove

This looks basically like I imagined it would 👍

CLosing this, user geneset creation has been implemented.


Could you write a copy in Chinese .Md file?

Bug Report
Description
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

// Test case or sample that shows broken behaviour and expected behaviour

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment
Development Machine
Complete the following information if applicable

OS: [e.g. Windows 10]
IDE: [e.g. Android Studio, IntelliJ, Eclipse]
Fuel version: [e.g. 1.15.0]
Kotlin version: [e.g. 1.2.51]

Smartphone or Emulator
Complete the following information if applicable

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]

Additional context
Add any other context about the problem here.

We would love to but afaik, we don't know Chinese well enough to do that .... , I would be happy to merge the PR if you can help us 🇨🇳

I will close this issue but feel free to reopen if you have more development.


[BUG]

Bug Description
I installed the plugin through the Godot Editor's AssetLib and let it do an automatic installation to my addons folder.
But any time I try to activate the plugin it just gives me a warning and an error in the Output log and deactivates.
Sometimes the plugin works while you have the editor open and have just activated it, only to deactivate itself when you open up the editor again at a later time after having closed it. And sometimes after having opened and closed the editor enough times it will just not even activate at all anymore, giving the error as soon as you try to activate it.
Steps To Reproduce
Steps to reproduce the behaviour:

Install the plugin (let it do the manual installation from the Godot Editor's AssetLib).
Activate the plugin (in "Plugins...").

Expected Result
I expect that the plugin should activate and do its thing.
Actual Result
I get a warning notification (see the first attached screenshot) and the plugin is deactivated, and in the output log I get this error (see second attached screenshot):

res://addons/godot_editor_discord_presence/plugin.gd:37 - Parse Error: The identifier "DiscordRPC" isn't a valid type (not a script or class), or couldn't be found on base "self".
modules/gdscript/gdscript.cpp:566 - Method failed. Returning: ERR_PARSE_ERROR

Screenshots

Operating System, Godot Version and Plugin Version:

OS: Windows 10
Plugin Version: 1.1.0
Godot Version:  3.4.2

Checklist

[ X ] I have checked for duplicate issues.
[ X ] I have provided a detailed description of the issue.
[ X ] I have provided reproduction steps (if applicable).

I'm unable to reproduce the bug.
I made a new project and installed the plugin from AssetLib everything works as expected on Godot 3.4.2.stable.
Closing and opening the plugin gives no errors and doesnt disable it.

I'm unable to reproduce the bug. I made a new project and installed the plugin from AssetLib everything works as expected on Godot 3.4.2.stable. Closing and opening the plugin gives no errors and doesnt disable it.

Very weird. I also have this same issue with many other plugins, but I can't seem to find any logical cause for so many plugins to be giving issues...

Closing since non-reproducible. Open it again if needed.

I know this is closed, but I can confirm I am experiencing this too. On Godot 3.4.2

Can you send some error logs which hints at the underlying issue. It may show up is you enable verbose mode in the Godot editor settings.

Sorry for such a late response! It worked after I came back to my computer the next day, but thank you for replying!


Register dialog should pull in credentials

When the user goes to click the register button, there's potential that they didn't notice it at first and then go to register. If this is the case, it's a pain to have to retype the username and password again in the register dialog. Therefore it would be much more user friendly if they only had to enter the password a second time for the confirm password field, with the other fields populated by what the user already entered.

This is actually something we implemented that has since broken:
Line 79 (https://github.com/javabrewery/brew-chat/blob/master/brewchat/src/main/java/com/example/brewchat/fragments/LoginFragment.java#L79)

No QuickBlox session is opened before to register a new user.
See:

http://quickblox.com/developers/Android
https://github.com/javabrewery/brew-chat/blob/master/brewchat/src/main/java/com/example/brewchat/ChatService.java#L162


footer Updated

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #402
Type of change
footer Updation
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] 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

[x] Test A
[x] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

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

Screenshots
Before
After
Include video if needed

Hello @PatilHarshh!
Thank you for submitting this pull request Your pull request will be reviewed by maintainers shortly. Meanwhile make sure you have referenced the respected issue in this pr Your pr will not be merged if it does not have reference to respected issue
please read our Contributing Guidelines https://github.com/UBA-GCOEN/StichHub/blob/main/CONTRIBUTING.md And Code of Conduct https://github.com/UBA-GCOEN/StichHub/blob/main/CODE_OF_CONDUCT.md

@PatilHarshh
in the footer you have added the video link n the social youtube icon instead the youtube icon should redirect to youtube channel of stichhub not the video link the link of youtube channel is provided in the issue.
also add the video in other place which is provided in the issue
like add the video at left side of footer text and the video should be played automatically
also this pr is also breaking preloader and making preloader design to change make the preloader s it was earlier.

hope it makes you clear
ping me if you did not understand anything?

also can you remove the css file and do the same effect using tailwind css as our code structure includes tailwind css

@PatilHarshh in the footer you have added the video link n the social youtube icon instead the youtube icon should redirect to youtube channel of stichhub not the video link the link of youtube channel is provided in the issue.
also add the video in other place which is provided in the issue like add the video at left side of footer text and the video should be played automatically
also this pr is also breaking preloader and making preloader design to change make the preloader s it was earlier.

did'nt understand video left ! means ? @Naresh-chandanbatve

also can you remove the css file and do the same effect using tailwind css as our code structure includes tailwind css

i will try to do if it is possible for me ! @Naresh-chandanbatve

@PatilHarshh
any updates?

yes working @Naresh-chandanbatve

@PatilHarshh in the footer you have added the video link n the social youtube icon instead the youtube icon should redirect to youtube channel of stichhub not the video link the link of youtube channel is provided in the issue.
also add the video in other place which is provided in the issue like add the video at left side of footer text and the video should be played automatically
also this pr is also breaking preloader and making preloader design to change make the preloader s it was earlier.

did'nt understand video left ! means ? @Naresh-chandanbatve

.

@Naresh-chandanbatve no brother it is not working on tailwind css as i tried it is not showing waves  !!

please reply me ASAP!!

@Naresh-chandanbatve reply expected fast  please !!

@Naresh-chandanbatve please merge it now


Builder and clap_derive should be WYSIWYG

 Issue by epage
Monday Oct 04, 2021 at 18:52 GMT
Originally opened as https://github.com/clap-rs/clap/issues/2808

Rust Version
1.55.0
Affected Version of clap
v3.0.0-beta.4
Expected Behavior Summary
Args are ordered as I declare them
Actual Behavior Summary
Args are sorted, without any exception (exceptions are common)
Context
DeriveDisplayOrder is a very popular flag to turn on.  When further researching this, it is popular across CLIs and even when args are sorted, its one manually to allow exceptions.
rg is one major exception for this

I don't enable DeriveDisplayOrder because I do actually want everything to be alphabetical. See group command line args into affected processing steps BurntSushi/ripgrep#1814 and organized flags in man page according to logical section? BurntSushi/ripgrep#1022 for more details.

I chalk this up to rg being an exceptional case in its scope and design and being limited by clap2's lack of help_heading.
Trade offs
Current Sorting Implementation

Strengths

Immediate polish for quick and dirty programs
Maintainable polish with large CLIs that have no good sort order and can't use help_heading (ie rg)

Weaknesses

Doesn't group --no- flags with their positive versions
Sorts all, even --help and --version which are generally left unsorted

Deriving Order

Easily discoverable path to both behaviors (can manually sort without finding the Setting)

Except when composing CLIs, like with #[clap(flatten)]

Commonly what is expected

Survey of CLIs
Sorted

rg

sort order is always respected, even for --help and --version (uses clap, author confirmed its intentional)

tokei

sort order is always respected, even for --help and --version (uses clap)

gnu ls

sort order is broken for --help / --version

gnu df

sort order is broken for --help / --version

less

sorts by short name, then long name (so long names without a short name are last)
Even sorts no- variants

Custom

cargo
bat
fd
delta
hyperfine
rsync
vim
gnu chmod

Even if this was sorted, I suspect the no- variants would not be sorted

mount
curl
wget
iptables
traceroute
gnu grep
gnu find (mostly sorted but there are exceptions

(List of commands was inspired by prior Rust command list, some off the top of my head, and a random 50 linux command list I found.  I only did a random sampling of the GNU CoreUtils though)

 Comment by joshtriplett
Monday Oct 04, 2021 at 21:37 GMT

I really do want options alphabetized by default, even if I only have a few of them. For small, quick tools, that'll avoid having options in a haphazard order. For larger tools with more options, I'd want to decide some kind of logical grouping of options, and in that case I might consider turning on DeriveDisplayOrder, but I would want that to be a deliberate choice.

 Comment by epage
Monday Oct 04, 2021 at 21:42 GMT

@joshtriplett thats an interesting use case to keep in mind!
This presents a bit of a tension.  Unorganized prototypes might want things alphabetized and these benefit most from defaults.  In contrast, I know a lot of my CLIs have logical ordering but I forget to set the display order to derive in them.
I'd be curious what other precedence there is.  I know argparse only has the equivalent of DeriveDisplayOrder.  I've not looked at Go or any other arg parser from a modern development ecosystem.

 Comment by joshtriplett
Monday Oct 04, 2021 at 21:51 GMT

In contrast, I know a lot of my CLIs have logical ordering but I forget to set the display order to derive in them.

Wouldn't you notice this when reviewing the help (e.g. to polish, or to prepare screenshots or screencasts or manual pages)?

 Comment by epage
Monday Oct 04, 2021 at 23:55 GMT

Often, I overlook reviewing --help
When I do screenshots, they generally don't have --help
I've not yet done man pages.  I've been waiting for the mythical day when clap can code-gen the majority of it for me :)  Granted, git's behavior of overriding my command's --help with a manpage lookup might push me to write one before then.

 Comment by kbknapp
Tuesday Oct 05, 2021 at 11:13 GMT

I've been thinking about this issue on and off for a while; about making DeriveDisplayOrder the default.
@joshtriplett makes a great point, but if I may make a counter point to get some people's opinions. When building a CLI, small or not, upon first running --help if you see the options are in the same order you declared them (WYSIWYG) I think that's decently unsurprising, even if it's not the desired behavior at the time. Assume AppSettings wasn't a thing for a moment, and after running --help you see your args are not sorted, but you'd like them sorted by default the solution would be to "quickly" sort them by hand. Even if that's a manual and less than pleasant experience it's at least easy to grok.
Contrast that with our current behavior of sorting them by default; if that's what you wanted it's no big deal but if that's not the desired behavior there is no clear solution unless you already know about AppSettings and take a gamble to see if there is a setting that does what you want.
It's anecdotal but in my experience in the wild I've run into more people who either expect the WYSIWYG ordering and are somewhat surprised by the sorted args, or don't care either way.
One last comment about alphabetizing is that with --[no-]flag style flags, all the --no-* options are grouped together instead of with the option they relate to. Not too big an issue unless there are a significant number of flags. However, if we're able to ever add the "automatically add --no-* flags for CLIs", that could become a bigger issue because I suspect more people will end up using --no-* flags than currently do because they'd be easier to add.
So I'm leaning towards DeriveDisplayOrder should be the default, but I'm open to being swayed by more opinions and discussion.

 Comment by epage
Tuesday Oct 05, 2021 at 13:42 GMT

I've updated the issue with a summary of the conversations and included my survey of different tools --help
For cases like rg (large CLI with sorting), almost seems like a custom comparator would be needed to handle the different exceptions (--no-, --help, --version) or alternative approaches (sort by short vs long)

 Comment by kbknapp
Tuesday Oct 05, 2021 at 14:11 GMT

For completeness sake, it'd be possible for us to always sort --no-* flags next their positive value even if we maintained the current alphabetical sort and added an automatic --no-* flag generation option. So I don't want people to think that would be the sole reason for leaning away from alphabetical sort by default.
Unfortunately for us, it's difficult to tell if those tools (that use clap) that are using alphabetical sort currently are doing so because that's what they prefer, or simply because that's what clap v2 did by default. Likewise, it'd be interesting to see if any of those tools also have their declarations in alphabetical order or not. I'm not suggesting we hunt down that info, just musing on the subject :stuck_out_tongue_winking_eye:

 Comment by epage
Tuesday Oct 05, 2021 at 15:16 GMT

Yes, in the Issue, I intentionally referred to this as "Current Sorting Implementation" so we kept in mind that this was changeable.  I brought up the custom comparator because it felt like I was seeing a lot of different sort policies and I worry that it'd be hard to have "one true policy".  For example, I know rg intentionally sorts and I'd want to check in with burntsushi to see how any sorting changes or new features (custom comparator) would impact rg.    It'd also be good to get clap3 out to see if help_heading ends up having an impact on rg though I expect that to be a slow process.

 Comment by epage
Wednesday Nov 03, 2021 at 18:29 GMT

Talking about discoverable paths forward (whether we support derive-only or just make derive the default), in addition to manually ordering items, people can also override the display order position.  In particular, we sort all items within the same display order position.
I was curious about providing "sort items of same display position" as a way of allowing sorting to discover we already do it :)

 Comment by pksunkara
Wednesday Nov 03, 2021 at 18:43 GMT

FWIW, I am okay with changing the default for this in v4 if the user feedback we collect doesn't prefer keeping the current sorting.

 Comment by epage
Thursday Nov 04, 2021 at 16:30 GMT

I ended up on a rabbit trail and as part of it, was reading through https://github.com/clap-rs/clap/issues/1365.  Remembering this issue, I realized we can drop IndexMap from our dependencies by making DeriveDisplayOrder the only* option.
* It will no longer be globally configured but sorting would still be available via:

Manual sorting
Assigning the same display order to everything
Or, if its important enough, we can add App::next_display_order(dsplay_order: Option<usize>) where None is a default pool of sorted items

Can't be App::display_order because that is used for subcommands.  Maybe we should rename App::help_heading to App::next_help_heading to be consistent

We do this by

Remove DeriveDisplayOrder
Add a App { ..., next_disp_order: usize } (or Option<usize>)
In App::arg, assign next_disp_order to Arg::disp_ord and increment next_disp_order

By assigning Arg::disp_ord at the time of App::arg, we no longer care what order items are inserted into the arg map.  We can then switch away from IndexMap to HashMap or BTreeMap, dropping a depedency and removing the need for App::_derive_display_order.

 Comment by pksunkara
Friday Nov 05, 2021 at 07:23 GMT

Or, if its important enough, we can add App::next_display_order(dsplay_order: Option) where None is a default pool of sorted items

I am not sure why we need that if we are allowing them to assign the same display order value and then clap sorts them.

 Comment by epage
Friday Nov 05, 2021 at 13:22 GMT

I am not sure why we need that if we are allowing them to assign the same display order value and then clap sorts them.

I was exploring ideas to make it easier to disable the display order en-masse in case concern was raised over having to set it one-by-one, much like we have App::help_heading to make it easier to not set it on everything.
Whether to do this depends on

How many people expect to sort
How many args those sorting will have to be setting it on (e.g. rg has quite a bit)
How comfortable we feel with the proposed API, balanced with the above two

A counter idea for this is to have them use #2976 to bulk set it.  #2976 doesn't work as well for help_heading because that is done in groups but would work quite well here since people will want it applied to all or have only one or two exceptions (e.g. help and version are generally no sorted)
EDIT:  the downside with bulk editing is that users of clap_derive would need to manually do the steps of Parser's inherent methods to inject custom App logic like this.  If the case is small enough (users of clap_derive that also want sorting) than it is probably fine.

 Comment by epage
Friday Nov 05, 2021 at 13:33 GMT

I was considering whether we can implement this now, and just key the App::arg logic off of DeriveDisplayOrder so we can drop indexmap as a dependency.
The reason we "can't" is ordering.  We can't guarantee DeriveDIsplayOrder will be set before calls to App::arg.  For example, clap_derive applies nearly all app methods after calls to App::arg.
"can't" is quoted because this is software, there is always something we could do.  For example, we could special case this setting like we special case help_heading.  I don't think going down that route is worth it though,


RFC: Always create RouteSpec string representation on construction

I noticed that the Display implementation for RouteSpec always builds up the string even if the RouteSpec has a source string specified and was about to send a PR that writes out the existing string when it's available.  But then I realized that it would probably make sense to make the source field no longer Optional (and probably rename it from source at the same time), and have the From<Vec<Segment>> implementation create the string representation.
This would mean that the string representation would only ever have to be constructed once for every RouteSpec instance rather than potentially every time you try to turn it into a string.
I thought of this because I wanted to make tide expose the matched route on every request, which currently means re-formatting the same string on every request, even though the same RouteSpec is used.

In the case of tide, source will always be Some, so it can be unwrapped and used for this purpose. Would that work? Alternatively, what about cloning the entire routespec and putting that in request extensions?

In the case of tide, source will always be Some, so it can be unwrapped and used for this purpose. Would that work?

Yes, but what about uses where it's not created from a string?  It seems unnecessary to create the string representation every time it's asked for rather than once when the RouteSpec is created.  The second sentence of the first paragraph was the thing I was asking for comments on I guess.

Alternatively, what about cloning the entire routespec and putting that in request extensions?

That's not really relevant to what I'm talking about as it would just push my question one step down the line.

Yes, but what about uses where it's not created from a string?

Is that possible in tide?

Not currently, but tide isn't the only thing using this crate, and it feels to me like it would be more consistent to only build it once in every case.  But it doesn't matter too much to me, which is why this is an RFC.  :)
It would be neat if we could just do it on-demand in the implementation of Display, but that would require switching to some form of internal mutability like ArcSwap.


Feature: Any plan to the implement of the --noise feature?

Scope
NovelAI, NAIFU, Stable Diffusion WebUI (AUTOMATIC1111), Others
Describe the problem related to the feature request
i2i need another dimension to control the noise which you already listed in the help menu but with no real function now.
Any plan for this in the near future?
Describe the solution you'd like
--noise
Describe alternatives you've considered
no
Additional context
no

noise parameter was effective in NovelAI and NAIFU, but afaik it looks like there is no a proper parameter in SD-WebUI that correspond to the noise parameter, so I didn't implement it.
noise 参数在 NovelAI 和 NAIFU 中是有效的，但阿弗艾克看起来，在 SD-WebUI 中没有一个合适的参数对应于 noise 参数，所以我没有实现它。

If you do know there IS a parameter in Stable Diffusion Web UI that controls the things same as noise in Novel AI, please tell me.
Or I'll close this issue as not planned.
如果你知晓那里有一个参数在稳定扩散网页用户界面中控制了与小说人工智能同样的东西们，请告诉我。
或者我会关闭这个议题作为未计划的。

As this feature seems not able to be implemented, and is stale over a month.
I'll close this issue as not planned, if anyone has extra comments, just open a new one.
由于这个功能不可能被实现，并且闲置超过一个月。
会关闭这个议题作为未计划的，如果你有额外的评论，只是开启一个新的。


Could not start the container

When trying to execute some code on https://play.rust-lang.org/ I just got a blank screen. No output at all.
fn main() {
    println!("X");
}

Looking in the console, I noticed a POST request that resulted in HTTP 500 error:

Unable to perform a streaming execute: Could not begin the execution session: Could not start the container: Unable to load original Cargo.toml: Could not read the file: Did not receive a response from the demultiplexer: channel closed

This error was not shown on the page, unless I switched to one of the alternative outputs (ASM, LLVM IR, MIR, HIR or WASM):

Switching to Stable or Beta channel does not work either.
Whatever I try, that message seems to repeat.

I'm having this same issue. I am pretty sure it's a server problem.

This is the output from attempting to run code in rust by example with the run button

Came back for life

Seems to be working again. We'll see if this persists. I have no idea what happened.

Duplicate of #955


implement business rules involving multiple entities

To implement domain services, do I necessarily need to execute sendCommand?
Is it possible to create a service as an orchestrator that performs a process by executing actions on more than one entity in the same domain?

This project is using CQRS concepts, that decouple the responsibilities of each intention.
You will need a domain service with a cross-aggregate scenario (eg checkoutService) when you have the entities (Product, Order, OrderDetail, Customer, Payment [and more]) in this case there's no only one entity to be responsible, so you need use a domain service to coordinate this kind of complex process.


Doesn't build as latex

The old :footcite: bug is triggered, but also latex preamble for unicode is needed for most tex distributions.

XeLaTeX / LuaLaTeX should be pretty standard now, however I don't see the point of having a PDF version of the tutorial.


ImportError: No module named razor_imu_9dof.cfg

Hi,
I'm having the following error while running the imu_node.py:
from razor_imu_9dof.cfg import imuConfig
ImportError: No module named razor_imu_9dof.cfg
I looked in the repos and indeed there is no file named razor_imu_9dof.cfg. Only imu.cfg
My workaround was to comment out the lines of the node code where a variable of that file is used. Of course, the Dynamic Reconfigure is not available because of that.
Any help would be appreciated.
P.S. I'm using Ubuntu 16.04 with Kinetic.
Best,

Hi,
I forgot to build the package with catkin_make in order to generate the files for the dynamic reconfigure.
Best,

I had the same problem and my case I forgot to source devel/setup.bash


How to get a wondows vCenter Server's license expiration date and License type from python script ?

I found a similar question for getting license of host and vCenter server.
https://github.com/vmware/pyvmomi-community-samples/issues/351
I have posted the answer for host there. But I don't have answer for vCenter server.

How can I print all the variables of vim.LicenseAssignmentManager.LicenseAssignment type?
lm1=content.licenseManager.licenseAssignmentManager.QueryAssignedLicenses()
Now I want to print the details of license properly.

Try this
lm = content.licenseManager.licenseAssignmentManager
entity_id = content.about.instanceUuid
print(lm.QueryAssignedLicenses(entity_id))

do you have the same example witho go script (govmomi) ?


add option to use preformatted ODBC connection string

Moving from ceODBC to turbodbc can be quite annoying since ceODBC only supports preformatted strings.
It also looks like pyodbc currently recommends preformatted strings.
This makes it easier.

Code looks good with the following exceptions:

Documentation in README file is missing
I'd like to see a test that actually uses the connection string to establish a connection. The connection string could be constructed directly from the information contained within the fixture files (dsn and, optionally, user and password).

Yes, that sounds reasonable.

Thanks for adding this!


error after num_steps = 100000 / 50000000

Hi,
I was just directly running the rainbow with all default settings and this error popped out after 100000 steps:
Resetting environment and starting new episode
eval step 200
eval step 400
eval step 600
eval step 800
eval step 1000
Reached maximum episode length: 1000
Traceback (most recent call last):
File "", line 1, in
runfile('/home/user/Documents/Zeyu/cups-rl/main.py', wdir='/home/user/Documents/Zeyu/cups-rl')
File "/home/user/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "/home/user/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "/home/user/Documents/Zeyu/cups-rl/main.py", line 182, in
avg_reward, avg_Q = test(env, num_steps, args, dqn, val_mem)
File "/home/user/Documents/Zeyu/cups-rl/algorithms/rainbow/test.py", line 76, in test
_plot_line(eval_steps, rewards, 'Reward', path='results')
File "/home/user/Documents/Zeyu/cups-rl/algorithms/rainbow/test.py", line 112, in _plot_line
}, filename=os.path.join(path, title + '.html'), auto_open=False)
File "/home/user/anaconda3/lib/python3.7/site-packages/plotly/offline/offline.py", line 596, in plot
auto_open=auto_open,
File "/home/user/anaconda3/lib/python3.7/site-packages/plotly/io/_html.py", line 527, in write_html
with open(file, "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'results/Reward.html'
And yes there is indeed no results/Reward.html in the repo. I wonder do I need to create it myself?
One thing to be noted is that I copied main.py of rainbow to just under cups-rl and ran it, because otherwise lines such as :
from algorithms.rainbow.agent import Agent
will return error if main.py is under cups-rl/algorithms/rainbow
Thanks for your reply.

Create a results folder. Plotly creates that html for you to analyse the results but if there is no results folder it seems like it can't.

It worked. Thanks for your advice!


delete model chunks for other models except remote model

Description
[Describe what this change achieves]
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Special-casing remote models is just adding a lot of code to bypass the real issue, which is that we're trying to delete non-existent chunks. This should be a "not found" situation, not an exception.

Remote model doesn't have any model chunks. So I'm in support to reduce one unnecessary DB call for remote model.
But that being said, I agree we should solve this issue about This should be a "not found" situation, not an exception.

But that being said, I agree we should solve this issue

I think modifying the delete query to exclude the just-deleted document is the best solution here.


Installation failure?

Just starting a new project tonight, this happened:

Don't have time to follow it down right now, but didn't want to leave it unreported either. Can look into it further if you need me to.

Thanks - yes this was an unfortunate install bug, fixed in 0.15.5.


Transient outage can cause dataloss despite synchronous replication, intentional?

Hi,
It appears that, despite running a cluster having 2 synchronous replicas, a sequence of transitory events (i.e. no permanent disk errors or such) can cause data loss, and I wonder if this is intentional.
tl;dr; version: if nodes fail and then recover in a certain order, an out of date replica can assume the role of primary. Every transaction committed since this replica went offline, and this can be a long time since the remaining two nodes would have continued working, is then lost.
This is a condition Patroni explicitly guards against:
When in synchronous mode Patroni maintains synchronization state in the DCS, containing the latest primary and current synchronous standby databases. This state is updated with strict ordering constraints to ensure the following invariants:

    A node must be marked as the latest leader whenever it can accept write transactions. Patroni crashing or PostgreSQL not shutting down can cause violations of this invariant.
    A node must be set as the synchronous standby in PostgreSQL as long as it is published as the synchronous standby.
    A node that is not the leader or current synchronous standby is not allowed to promote itself automatically.

To reproduce:
A database:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: test
spec:
  instances: 3
  minSyncReplicas: 1
  maxSyncReplicas: 1

  replicationSlots:
    highAvailability:
      enabled: true

  bootstrap:
    initdb:
      database: test
      owner: app
      postInitSQL:
        - CREATE ROLE dennis SUPERUSER LOGIN PASSWORD 'dennis'

  primaryUpdateStrategy: unsupervised

  storage:
    storageClass: openebs-zfspv
    size: 1Gi

  affinity:
    podAntiAffinityType: required

which, with a few rows of data, results in:
Cluster Summary
Name:               test
Namespace:          default
System ID:<PHONE_NUMBER>286758438
PostgreSQL Image:   ghcr.io/cloudnative-pg/postgresql:15.2
Primary instance:   test-3
Status:             Cluster in healthy state
Instances:          3
Ready instances:    3
Current Write LSN:  0/1100B0F8 (Timeline: 7 - WAL File:<PHONE_NUMBER>00000000000011)

Certificates Status
Certificate Name  Expiration Date                Days Left Until Expiration
----------------  ---------------                --------------------------
test-ca           2023-06-09 17:22:08 +0000 UTC  89.94
test-replication  2023-06-09 17:22:08 +0000 UTC  89.94
test-server       2023-06-09 17:22:08 +0000 UTC  89.94

Continuous Backup status
Not configured

Streaming Replication status
Replication Slots Enabled
Name    Sent LSN    Write LSN   Flush LSN   Replay LSN  Write Lag  Flush Lag  Replay Lag  State      Sync State  Sync Priority  Replication Slot
----    --------    ---------   ---------   ----------  ---------  ---------  ----------  -----      ----------  -------------  ----------------
test-1  0/1100B0F8  0/1100B0F8  0/1100B0F8  0/1100B0F8  00:00:00   00:00:00   00:00:00    streaming  quorum      1              active
test-2  0/1100B0F8  0/1100B0F8  0/1100B0F8  0/1100B0F8  00:00:00   00:00:00   00:00:00    streaming  quorum      1              active

Unmanaged Replication Slot Status
No unmanaged replication slots found

Instances status
Name    Database Size  Current LSN  Replication role  Status  QoS         Manager Version  Node
----    -------------  -----------  ----------------  ------  ---         ---------------  ----
test-3  29 MB          0/1100B0F8   Primary           OK      BestEffort  1.19.0           node-1
test-1  29 MB          0/1100B0F8   Standby (sync)    OK      BestEffort  1.19.0           node-3
test-2  29 MB          0/1100B0F8   Standby (sync)    OK      BestEffort  1.19.0           node-2

To simulate failures I set the ZFS dataset to readonly on the corresponding node, something like:
zfs set readonly=on tank/data/local/pvc-1383b82a-9a5b-4c68-b7b4-e631f2afe1e4

test=# insert into a values('test-3 primary, test-1 sync replica, test-2 sync replica');
INSERT 0 1
select * from a;
                            v                             |             stamp
----------------------------------------------------------+-------------------------------
 test-3 primary, test-1 sync replica, test-2 sync replica | 2023-03-11 18:49:54.830092+00
(1 row)

Fail test-2, then:
Instances status
Name    Database Size  Current LSN  Replication role  Status             QoS         Manager Version  Node
----    -------------  -----------  ----------------  ------             ---         ---------------  ----
test-3  29 MB          0/1100B0F8   Primary           OK                 BestEffort  1.19.0           node-1
test-1  29 MB          0/1100B0F8   Standby (sync)    OK                 BestEffort  1.19.0           node-3
test-2  -              -            -                 pod not available  BestEffort  -                node-2

test=# insert into a values('test-3 primary, test-1 sync replica, test-2 gone');
INSERT 0 1

Fail test-1, then:
test=# insert into a values('test-3 primary, test-1 gone, test-2 gone');
INSERT 0 1

(This works because CNPG will allow a standalone primary, see bottom notes. This transaction is thus only ever committed on test-3)
And finally fail test-3:
Instances status
Name    Database Size  Current LSN  Replication role  Status             QoS         Manager Version  Node
----    -------------  -----------  ----------------  ------             ---         ---------------  ----
test-1  -              -            -                 pod not available  BestEffort  -                node-3
test-2  -              -            -                 pod not available  BestEffort  -                node-2
test-3  -              -            -                 pod not available  BestEffort  -                node-1

Now let's assume our provider had a bad day, and slowly the nodes are getting back up, first test-2:
Instances status
Name    Database Size  Current LSN  Replication role  Status             QoS         Manager Version  Node
----    -------------  -----------  ----------------  ------             ---         ---------------  ----
test-2  29 MB          0/1100D7B0   Primary           OK                 BestEffort  1.19.0           node-2
test-1  -              -            -                 pod not available  BestEffort  -                node-3
test-3  -              -            -                 pod not available  BestEffort  -                node-1

test=# select * from a;
                            v                             |             stamp
----------------------------------------------------------+-------------------------------
 test-3 primary, test-1 sync replica, test-2 sync replica | 2023-03-11 18:49:54.830092+00
(1 row)

Because test-2 has assumed the role of primary, we have lost the last 2 INSERTs. Recovering test-1 and test-3:
Instances status
Name    Database Size  Current LSN  Replication role      Status  QoS         Manager Version  Node
----    -------------  -----------  ----------------      ------  ---         ---------------  ----
test-2  29 MB          0/12000110   Primary               OK      BestEffort  1.19.0           node-2
test-1  29 MB          0/120006A0   Standby (file based)  OK      BestEffort  1.19.0           node-3
test-3  29 MB          0/12000110   Standby (sync)        OK      BestEffort  1.19.0           node-1

works, but those transactions are lost.
There are 2 parts to this:

CNPG loosens synchronous constraints when no replicas are available. This may/may not be appropriate for some. In my case I would agree this is reasonable, the only permanent data loss scenario in this case would be if the disks of the primary are permanently lost, but I consider this unlikely to happen simultaneously to either provider issues or disk issues on both other nodes (i.e. if nodes drop out like this it's more likely power or network and transient).

CNPG allows a node which was not previously a primary or a synchronous (up to date!) standby to become primary, with potential data loss. For my case I do not want to this to happen or be possible, if this happens the (IMHO) only acceptable automatic recovery is waiting for the original primary, or a fully up to date synchronous standby (which due to 1. and the commit quorum is difficult to guarantee), to recover. Anything else should require manual intervention.

I know risk tolerance is subjective, and "we prioritize availability over all else" is a valid standpoint, am just curious if I am missing something. IMHO if you choose to use synchronous replication it's because you care very much about durability of committed transactions.

Hmm the next morning actually test-1 still hasn't resumed synchronous sync?
Instances status
Name    Database Size  Current LSN  Replication role      Status  QoS         Manager Version  Node
----    -------------  -----------  ----------------      ------  ---         ---------------  ----
test-2  29 MB          0/13000000   Primary               OK      BestEffort  1.19.0           node-2
test-3  29 MB          0/13000000   Standby (sync)        OK      BestEffort  1.19.0           node-1
test-1  29 MB          0/120006A0   Standby (file based)  OK      BestEffort  1.19.0           node-3

So, new to K8s operators but the source code is quite readable. There is a lot of psql experience behind the cnpg team, so perhaps my opinions on administering psql are wrong/outdated, but I'd like to learn, and would appreciate corrections/comments on the following. I do really like how easy cnpg is to use and I find the arguments for using it leveraging k8s very compelling, however:
Synchronous replication is done by simply shoving all n replicas into a synchronous quorum ANY m (1..n) where m replicas have to acknowledge writes. The implementation of this is rather straightforward, there is no need to track synchronous versus asynchronous replicas, all replicas can go in in the list and depending on m there will or will not be synchronous replication. But, what is the point of this feature, without further guarantees? (see below)
The reconciliation loop creates a sorted list of instances, first the primary, then the replicas in order of most-up-to-date. All instances not available are filtered from this list. If the first item in this list is then not the current (wanted) primary, then the first item in the list gets promoted to primary. There are, as far as I can tell, no constraints on this. Meaning, if you have a 3 month old stale replica that happens to ever show up on top of the list (see my initial comment) then cnpg will happily throw away all writes that happened in those 3 months. This ensures availability, and you could argue there would be backups of the "actual" primary timeline, but at this point you have a forked timeline and very confused and angry users.
Even for asynchronous replicas this possibility would make me very nervous. When it comes to the synchronous case you'd never want this to happen. You want to wait for the primary to come back online, but since this could take time, or may not even be possible, you can promote a known synchronous standby (I mean, that is what synchronous replication was designed for).
If you are using quorum writes, then you can only fail over to a synchronous standby if all standbys in the quorum are available, since only then can you compare LSNs to see which one is the most up to date (the one who acknowledged the very last commit). The cluster can only resume if either the primary comes back or all synchronous standbys are available. If you also lose a standby, you can not safely resume without risking data loss.
Having a designated synchronous standby (FIRST m (1..n)) it is enough if it, or the primary, are available. Additionally, a dedicated synchronous standby allows a read-only endpoint that is fully up to date. Disadvantage is that quorum writes smooth out any hickups in the replicas or networks. So it is a tradeoff.
I want to mention how Patroni handles this, not to argue it is better or not, but to point out that these issues are worth considering. Patroni has constraints on promoting replicas while using synchronous replication, and there are constraints on the maximum allowed data loss if promoting a replica (so you can say no more than 5 minutes out of date or else wait for an administrator - of course if a more appropriate replica, or the original primary, comes back you can still resume the cluster so it would still automatically recover from transient problems).
I believe the least disruptive change (and quickest, that I would probably be able to work on if cnpg would consider including such a change) would be for the failover in case of synchronous replication to only promote a replica if it can be determined to contain the last commit of the primary. This means all replicas that were available at the moment the primary disappeared must be available for inspection (who has the latest commit). If this can not be determined, or if there were no synchronous standbys, there will be no failover until either a) the primary comes back, or b) the required replica(s) come back, or c) the DBA manually promotes a replica.
Ideally, cnpg could maintain a pool of n+ designated synchronous replicas which can form their own non-stale read-only endpoint. Here you lose the smoothing of writes that a quorum offers, but it also simplifies failover (either one the designated replicas is available or it isn't). Note that this is what Patroni does.

Question: This page (https://cloudnative-pg.io/documentation/1.20/operator_capability_levels/#zero-data-loss-clusters-through-synchronous-replication) has the formula
1 <= minSyncReplicas <= q <= maxSyncReplicas <= readyReplicas
Does this mean you can achieve zero data loss in a cluster of 3, where the quorum should be 2, minSyncReplicas needs to be at least 1 and maxSyncReplicas must be at least 2?

Hello @Dennis4b,
This looks more like a discussion than an issue yet, since there's a lot of discussion to clean before doing anything.
I'm turning this into a discussion, there's a good an really valid point here.
Regards!


Fix typos and note layout

Change 6 occurrences of "usihg" to "using"
Fix Tip formatting that applied to a heading

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@SvenAelterman : Thanks for your contribution to the Azure documentation! The author, @anosov1960, has been notified to review your proposed change.

#sign-off

@anosov1960 Please resolve the merge conflict so that the pull request can be merged. Thanks. #hold-off

@SvenAelterman Thank you for this submission. The changes that you requested were made in another PR, along with some other refactoring. Please close this PR. If you find additional items that could/should be changed, please open a new PR.
Thank you.


how to build static lib for qt5.9.2 ?

how to build static lib for qt5.9.2 ?

do you try vcpkg  install qt5:x86-windows-static ?

@ReyzalX
https://github.com/Microsoft/vcpkg/blob/master/ports/qt5-base/portfile.cmake
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
    message(FATAL_ERROR "Qt5 doesn't currently support static builds. Please use a dynamic triplet instead.")
endif()

Related to #4560

QT5 currently support static build, now one of its component failed with static build, duplicated to issue https://github.com/microsoft/vcpkg/issues/4560


Not able to ping though borderrouter to link-local

Hi, i have set up my border router and i amm able to ping to a global server by using the well-known prefix:
> ping 64:ff9b::0808:0808
> 16 bytes from 64:ff9b:0:0:0:0:808:808: icmp_seq=55 hlim=51 time=26ms

My problem is pinging link-local addresses such as this one:
wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        **inet6 fe80::593d:100:f1d8:44f**  prefixlen 64  scopeid 0x20<link>
        ether ac:b5:7d:26:2f:ba  txqueuelen 1000  (Ethernet)
        RX packets 180966  bytes 161395680 (161.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 117698  bytes 18161299 (18.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(this is on my border router laptop)
when i try to ping from a node a respond never returns
>state
leader
Done
> ping fe80::8817:3ff:fe80:61fa

Is what im trying to do possible?

My example were for the network interfaces on the same RPi. If you want to be able to communicate between devices on different subnets, you will need to configure IPv6 routing.
This email thread on openthread-users may be of help.

yes okay, thanx for the help.


Subsequent IAO training sessions

Title of ticket:
Description
Need to train on synch, search, reporting
DOD

[ ] Determine dates and audience
[ ] Send invite
[ ] Prepare materials
[ ] Determine facilitators
[ ] Carry out the training

cc @lmullane @arielleandrews @m-prodan @JHarrietha-AOT

closing - will replace with a broader ranging training ticket


Improve examples of Style/RedundantBegin cop

It adds an example using do-end block in Ruby 2.5, and annotates with bad/good tags like any other cops.
A related commit is 5bbdfdd9dbecbfd627480a75d6a508c330d65b79. (PR is https://github.com/bbatsov/rubocop/pull/5175)

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

👍


Blazor and Balero

I got told, and read several articles, that the C# framework Blazor, that compiles to WebAssembly, ia also Hotw, respectively Frow. (I still dont get the difference)
F# is another language on the dotnet runtime and its counterpart, that builds on top of Blazor, is called Balero.

I got an answer from the community
"If it's running as a webassembly, no, it's generetaed by the wasm code running in the browser. If it's a server-side Bolero (Blazor) - I am currently writing one - then yes, the HTML is rendered on server and transmitted as compressed changes over the wire to the browser"

@ShalokShalom sounds super interesting. But I think it does not belong into the bucket "html-fragements-over-the-wire". Good luck. Feel free to open a new issue or reopen this one.

How is it different?


[main] Upgrade to latest dependencies

update hack hash in pkg -izabelacg
/cc knative/serving-writers
/assign knative/serving-writers
Produced by: knative-extensions/knobots/actions/update-deps

/approve

/lgtm


Issues with the scale on fast SSDs

Nice program! I had a problem running it on my Corsair Force MP600 SSD which runs PCIe 4 and theoretically supports a peak of around 5TB per second transfer rates.
This is what I see when suspending a large VM in virtualbox:

Note the vertical scale is a bit messed up.

Ha! I just hit the same bug on my WD Black NVMe. And fixed it. Thanks for trying it out, and reporting! The current version should work on fast disks now.
I think it is triggered when the vertical scale goes to 4GBit/s or higher.

Thanks. It works great now.


driver/Keysight Infiniium oscilloscope (as e.g. MSOS104A)

This is the driver for the Keysight Infiniium oscilloscopes.  It has been developed for the MSOS104A. So far it features all the basic commands, including:

time scale
channels
trigger
acquisition of up to 500M points (non streaming mode)

To get started please refer to the jupyter tutorial for this driver, supplied along with this PR.
fixes #701
The driver development has been simultaneously started by Steven Waddy. In the first commit I merged the two drivers.

Nice notebook!


Limit place creation to 10 per day per user

Every once in a while a user will create dozens or hundreds of places in a day which can fill up the DelayedJobs queue with a lot of indexing jobs. These places are often nearly the same as existing places, or narrowly-used places that end up getting abandoned, leaving places in the database that we still need to index against. Eventually we could introduce the ability to dynamically search observations with a geometry w/o needing to create an actual place entry. For now, let's limit the number of places a user can create in a day

https://github.com/inaturalist/inaturalist/pull/3035 achieves this, I think, just a matter of merging and deploying when we think it's appropriate.


[Feature request]: Improve tests of Expressions.Database project

Is your feature request related to a specific problem? Or an existing feature?
The test coverage is lower than recommended.
Describe the solution you'd like
Cover at least 80% of the code.
Additional context

Codecov dashboard

@devapeai give me insights about this issue

Hi @skarllot, you helped us flag an error because of a recent version update we did to one of our dependencies. I'm looking into it, and will keep you updated! You can continue to use DevApe but you might see unexpected behavior today.

@DevApeAI give me insights about this issue


How to generate the evaluation datasets?

Hi, thanks for sharing your work, it's very impressive. We'd like to evaluate the M2UGen model and other compared models with your evalution datasets. In Evaluation/Image2Music/evaluate.py, we noticed that there is a file called MUImageEvalInstructions.json, which might be the splits of evaluation dataset. However, we didn't find this file anywhere, neither in Github nor Huggingface.
Could you please share this file or sharing the code for generating the split of evaluation dataset? It will help a lot. Thanks!

Same issue here, did you find the evaluation datasets?


Improve insert performance using a transaction (#142).

Merged, thanks! I've added you to the AUTHORS file as well.

Thank you very much!


Planet daily time selector widget

We need to update the UI to allow a start and end date to the range functionality for accessing daily planet imagery. The date range queries all the imagery available for the given AOI and the given date range then sorts it by image quality and creates several layers that users can view...with the higher-quality images being displayed first. Sounds like Billy implemented Daniel's code directly, so his gee-gateway endpoint does require us to specify a date range using dateStart and dateEnd parameters. However, in CEO we have only built a UI that allows users to select a single day from a calendar widget. We send that date for both the dateStart and dateEnd, thereby clipping the imagery to that day.
The issue you would need to add for CEO is: Extend PlanetDaily imagery to allow date range selections on the Collection page

We can specify a time range of daily planet now (start and end date)? That's great news. I'll share update with Erik.


[feat] add require-auth decorator for auth validation

Summary

add @requireAuth decorator for auth validation.
do not check auth when initialize sdk client.

Thank you for quick review @platfowner! now merging...


Event History should only show last 100 changes by default

Added a limit, but did not add paging.

we need pagination to the API as well.. i does not scale!

limit will do for now. can add paging later.


Run docker builds on docker hub

Doesn't need docker credentials on travis. If it's set up right, this PR should show a CI status coming from docker cloud.
Repo changes:

remove docker deploy step from travis
replace with docker's hooks/post_push to create the tagged builds
build docker image with python 3.7 and two-stage builds to save ~80% on size

This also somewhat accidentally closes #524 since that was caused by a conflict between jobs.include and matrix.include.

When I click on the "Details" link for the dockercloud check I get sent to https://cloud.docker.com/redirect?resource_uri=/api/audit/v1/action/fac4aa2b-6625-43e2-8fbb-afe0663ac5fe/ which then shows me a 404. Is this because I am not logged in (as a user who has privs to look at the repo2docker build) to docker hub?
I like it!


Help get a list of methods available in the package

Hello Chris, thanks for this amazing package. Please can you help me get a list of methods available to me?
Thanks.

Hi @giantthinker, thanks for using the package!
No, I don't have a documented list of available methods, but you can view the source of the models and user trait here. Please let me know if you need help and I can hopefully point you in the right direction.


Appropriate settings location detection broken.

In WordPress Webmention plugin, and https://github.com/pfefferle/wordpress-webmention/commit/53dd363fb659c91ce6c57412b33244185892eab3 the "Webmention_Plugin" class was removed from the loader file and not replaced.
This removal is causing the settings for Semantic Linkbacks to always fall to the WordPress core "Discussion" settings page, regardless of Webmention plugin usage.
Unsure if we want to rely on a different class or procedural function being defined, or if we want to perhaps make use of a defined constant that's used in Webmention.

I can not find the settings anywhere. No menu item, no settings on Plugin Listing, nothing in General or Discussion. It is activated. That's all I see.
Semantic-Linkbacks version 3.10.1

Did you check under webmentions?

Ah, there it is. Hiding in plain sight. Thank you @dshanske :D