Add article about ClickHouse indexing and data processing

This is information that I cut from the blog post, as it dives a bit deeper into how ClickHouse works.
I shaped it to focus on the primary index and data processing.

Thx Francesco!! helpful comments!
I added some changes to improve content.
Regarding "the primary index works only on top of a sorted column" - this is a tricky point, where I'm  trying to avoid misleading the readers. So I wonder how to explain it to stay technically correct.  This is a territory where I'm not super confident that I'm getting all details correct. But I updated a bit the paragraph about it.

Also, decided that I cannot ignore the secondary index and added some short overview on it as well.
This is by no mean deep analysis, I referenced official docs for that


Timeout when running 'run_cpt.py'

I have performing cpt using this receipe.
2024-08-07 13:34:11 - INFO - datasets.builder - Generating train split
Generating train split: 0 examples [00:00, ? examples/s][WARNING|tokenization_utils_base.py:4101] 2024-08-07 13:34:12,926 >> Token indices sequence length is longer than the specified maximum sequence length for this model (1541 > 1024). Running this sequence through the model will result in indexing errors
Generating train split: 2230000 examples [29:59, 1466.92 examples/s][E ProcessGroupNCCL.cpp:475] [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=2, OpType=ALLREDUCE, NumelIn=1, NumelOut=1, Timeout(ms)=1800000) ran for 1800449 milliseconds before timing out.
Generating train split: 2231702 examples [30:00, 1577.98 examples/s][E ProcessGroupNCCL.cpp:489] Some NCCL operations have failed or timed out. Due to the asynchronous nature of CUDA kernels, subsequent GPU operations might
run on corrupted/incomplete data.
[E ProcessGroupNCCL.cpp:495] To avoid data inconsistency, we are taking the entire process down.
[E ProcessGroupNCCL.cpp:916] [Rank 1] NCCL watchdog thread terminated with exception: [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=2, OpType=ALLREDUCE, NumelIn=1, NumelOut=1, Timeout(ms)=1800000) ran for 1800449 milliseconds before timing out.
terminate called after throwing an instance of 'std::runtime_error'
  what():  [Rank 1] NCCL watchdog thread terminated with exception: [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=2, OpType=ALLREDUCE, NumelIn=1, NumelOut=1, Timeout(ms)=1800000) ran for 1800449 milliseconds before timing out.
[2024-08-07 14:04:13,625] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 399651 closing signal SIGTERM
[2024-08-07 14:04:14,553] torch.distributed.elastic.multiprocessing.api: [ERROR] failed (exitcode: -6) local_rank: 1 (pid: 399652) of binary: /home/gthakkar/miniconda3/envs/handbook/bin/python
Traceback (most recent call last):
  File "/home/gthakkar/miniconda3/envs/handbook/bin/accelerate", line 8, in <module>
    sys.exit(main())
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 48, in main
    args.func(args)
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/accelerate/commands/launch.py", line 1097, in launch_command
    multi_gpu_launcher(args)
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/accelerate/commands/launch.py", line 734, in multi_gpu_launcher
    distrib_run.run(args)
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/torch/distributed/run.py", line 797, in run
    elastic_launch(
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 134, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/gthakkar/miniconda3/envs/handbook/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
=======================================================
scripts/run_cpt.py FAILED
-------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
-------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2024-08-07_14:04:13
  host      : vjm-xr.novalocal
  rank      : 1 (local_rank: 1)
  exitcode  : -6 (pid: 399652)
  error_file: <N/A>
  traceback : Signal 6 (SIGABRT) received by PID 399652

I tried setting the ddp_timeout value for the training args, but the code doesnt respect the timeout value.

I ran the code on a single GPU, waited for it to create a cached dataset object, and then restarted the process with all GPUs. This worked for me to avoid timeout issues due to data preprocessing.
I saw one issue which said SFT trainer takes more time to preprocess on multi-gpu setup than single GPU.
I manually ran it on a single GPU which was not only a great speed up for preprocessing but also avoided unwanted timeout exceptions.


Multi level inheritance

Now for multiple level inheritance it is not required anymore to
redefine the block.
The previous behaviour is still supported. The test still succeed and have been moved to the file ExtendsManyTimesWithBlockTest.java.
The new behaviour puts the override operations on a stack and execute them in reverse order from the base template.

Are you is right if they give the same results? In this case the operations are applied in stack.  The order of the operations seemed more natural like that, and i need this kind of behavior. For example if i do a replace, i want it to replace all and not only the first anchestor. Can't we keep this two separate behaviors?

I made a test with the following template.
<EMAIL_ADDRESS>name="/extends_many_times_with_block.ftl">
<EMAIL_ADDRESS>block="first"<EMAIL_ADDRESS><EMAIL_ADDRESS>block="second"<EMAIL_ADDRESS><EMAIL_ADDRESS>block="third"<EMAIL_ADDRESS><EMAIL_ADDRESS>block="fourth"<EMAIL_ADDRESS><EMAIL_ADDRESS>block="fifth"<EMAIL_ADDRESS><EMAIL_ADDRESS>
the result is the following - quite unpredictable if you don't exactly understand two types inheritance behaviors.
{[FirstBlock-FirstAppendBlockChild3][SecondBlock-SecondBlockChildReplace3][ThirdBlock-ThirdBlockChildPrepend3-][FourthBlockChildAppend3][FifthBlockChildAppend3]}

This can confuse developers much.
If I made freemarker-template-inheritance from the beginning, I would choose your solution.
But I think this kind mixed behavior can cause some confusion.
Your solution is very convenient, but I don't want to mix that with the original solution.


TE-1.2: My Station MAC

Script for TE-1.2 My Station MAC. Resolves #669. Please review.
Thanks.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 50.147%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
854

Relevant Lines:
1703

💛  - Coveralls

/gcbrun

/gcbrun


Better measures with web vitals

Description
In practice we've noticed that the First Contentful Paint metric that we record frequently appears to be wrong, showing an average value of several minutes on one of our largest users of the performance library. Looking to switch this over to the web-vitals implementation instead of our custom one on the expectation that it's solved more of these edge cases and may help provide us with a more accurate value.
In the process, seems worthwhile to switch over our recordings of First Input Delay (FID) and Time To First Byte (TTFB) as well for consistency, however a similar metric doesn't exist for First Paint, so I leave that as our custom implementation.

/snapit


[feature request] Consider lua (or another scriptable language) based configs

As much as I find the aerospace.toml very clean and well thought out, it has limitations, so it would be nice to be able to customize my Aerospace config in a scriptable language like it's possible with Neovim or Emacs
Lua seems simple enough to embed (see references), and the API could be exposed to the scriptable language. Then it should be possible to create keymaps and callbacks in a much more flexible manner, as well as organize the config into multiple parts.
Motivation
This thought came out of the frustration of trying to configure some specific tasks, and then having to resort to other tools to pull it off.
A few examples of things I tried to do that were limit by the current configs:

Have different rules apply to my work and personal computers configs while maintaining the same code base (unsolved)
Auto close / minimize the "Zoom" login window it appears (solved with BetterTouchTool)
Move Chrome's floating window on workplace changes (solved by external script)

Resources
https://github.com/weyhan/lua4swift
https://github.com/SwiftyLua/SwiftyLua?tab=readme-ov-file

https://github.com/nikitabobko/AeroSpace/discussions/622


Duplicate and missing entries of a sorted group of records when displayed over several pages

We are displaying database records from our "lessons" table sorted by their title or better "name" on a paginated view with 10 entries per page. When a group of lessons with the same name is split up over 2 pages, some records appear twice and others are missing (identified by their ids). In total the number of lessons being displayed is correct. When a group of lessons with the same name is not split up but displayed on one paginated page, everything is ok. There are also no duplicate entries within one page, when the group is split up.
A test with (1) a group of 3 lessons and (2) a group of 14 lessons:
(1) 1 record is displayed twice and 1 record is missing.
(2) 2 records are being displayed twice and 2 records are missing.
When the default number of entries per page was changed in the pagination gem to show all grouped records on one page, everything was ok. All IDs were listed.
The index action in the LessonsController looks like this.
def index
  @search = Lesson.search(params[:q])
  @lessons = @search.result.page(params[:page])
end

For column sorting we are using the gem 'ransack'.
I have screenshots attached. Please let me know if there is anything else I can provide (information, code etc.) to better describe this problem.
================
(1) a group of 3 lessons
select id, name from lessons where name='Advanced Tennis (7-9yrs)';
  id  |           name
------+--------------------------
 1669 | Advanced Tennis (7-9yrs)
 1675 | Advanced Tennis (7-9yrs)
 1671 | Advanced Tennis (7-9yrs)
(3 rows)

These 2 screenshots show the group of lessons split up on 2 pages. The lesson with the id 1669 appears twice and id 1671 is missing.

I was just browsing the Kaminari issues (because I always want to make sure a gem that I plan to use doesn't have pitfalls in areas of my specific use-case) and I figured I would give my two sense on the issue, as I do not feel that this is relative to kaminari.
I use Ransack frequently and have actually forked/dug into the code base (which is awesome I might add) so I could extend it with other awesome features. While familiarizing myself with the code, I noticed many interesting things can happen when you are targeting specific advanced use cases.
So, @ayannone, to get a better grasp of the underlying problem, what filters and sorting (if any) are you using with ransack? Also, is query you provided the exact query representing the pictures? If not, can you provide the exact query producing those results? Also, do the correct records get returned when no ransack sorting/filters are applied?
from the Ransack docs:

If passed distinct: true, result will generate a SELECT DISTINCT to avoid returning duplicate rows, even if conditions on a join would otherwise result in some. It generates the same SQL as calling uniq on the relation.
Please note that for many databases, a sort on an associated table's columns may result in invalid SQL with distinct: true -- in those cases, you're on your own, and will need to modify the result as needed to allow these queries to work.
If distinct: true or uniq is causing invalid SQL, another way to remove duplicates is to call to_a.uniq on the collection at the end (see the next section below) -- with the caveat that the de-duping is taking place in Ruby instead of in SQL, which is potentially slower and uses more memory, and that it may display awkwardly with pagination if the number of results is greater than the page size.

Thanks for your comment @mkralla11. We have investigated the issue and found that it was caused by listing the classes in an unsorted order of their ids. It works fine now without duplicates and missing entries.


7 | sort | C++

sort -
What will change -
Type of Issue -
Please add/delete options that are not relevant.

[1] Adding New Code
[ ] Improving Code
[ ] Improving Documentation
[ ] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[ ] Python
[1] C++
[ ] Java
[ ] SQL

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

@Yashica7 @SSKale1 please assign this issue to me!

Please assign it to me.


Multiple drivers in molecule.yml

Issue Type

Question

Molecule and Ansible details
ansible --version

2.6.2
molecule --version

2.16.0
Molecule installation method (one of):

source
pip

Installed with pip
Ansible installation method (one of):

source
pip
OS package
Installed with pip

Desired Behavior
I would like to have an example on how to add multiple drivers in a molecule.yml file. Is it possible?
Documentation points to this capability.
Actual Behaviour (Bug report only)
Added, two drivers in molecule.yml
Driver: delegate
Driver: openstack
Looks like when I'm trying to create the instances only the second driver is taken in consideration so the delegate driver won't do its job.
What I'm trying is to set with delegate driver the localhost instance and with openstack the other instances.
This way I can assign a group tag for the localhost instance( if there is any other options please let me know). I need the tag for the localhost instance(and localhost instance to be in inventory) to do some delegate_to tasks in roles.
===================================================================
cat molecule.yml
dependency:
name: galaxy
driver:
name: delegated
options:
managed: False
login_cmd_template: 'ssh -i {{ my_key }} <IP_ADDRESS> -F /path/to/ssh_config'
ansible_connection_options:
connection: ssh
ansible_ssh_common_args: -i {{ my_key }} -F /path/to/ssh_config
platforms:

name: mol-test-bastion
groups:

bastion

driver:
name: openstack
lint:
name: yamllint
platforms:

name: mol-test-master
image: "image_id"
flavor: "m1.medium"
security_groups: "default"
groups:

master

Can I get an example of how to properly use this feature?
Thank you for your support!

AFAIK, you create a new scenario for each driver as in https://github.com/metacloud/molecule/tree/master/test/scenarios and if you have tests or other things that you want to share you just https://molecule.readthedocs.io/en/latest/examples.html#sharing-across-scenarios. Also worth reading is https://molecule.readthedocs.io/en/latest/faq.html#why-are-there-multiple-scenario-directories-and-molecule-yml-files.

So basically, you can't provide to different drivers in molecule.yml?
I want one instance to be represented by localhost and the others by instances in openstack.

So basically, you can't provide two different drivers in molecule.yml?
I want one instance to be represented by localhost and the others by instances in openstack.

Right.  You would use different scenarios.


Make MilStd2525Placamark become transulent with time

Add last update time into MilStd2525LevelOfDetailSelector and set placemark color alpha based on time period, so placemark will become more and more transluent with time, until some threshold value.
If age is > 1440 minutes (Older than day) then alpha = 128, else if age > 60 minutes (Older than hour) then alpha = 191.
Highlighted placemarks should be completely opaque.

Basic implementation of this feature was added in branch feature/mil-std-2525-placemark-aging
But currently due to some strange conditions alpha in the image color can be only 0.0 or 1.0.
It is required to investigate why this restriction was added.

Added in 2a5d84c3a838da3b8de50ac68b38f2ea49d8f1cd


Dropped autoNotify and added an exception handler

People can now just do this:
$client = new Bugnsag\Client(new Bugsnag\Configuration('API-KEY'));

Bugnsag\Handler::register($client);

and they'll have our exception handler all set up for them to use natively.

Closes #205.

boom 💥


Bump Flink default version to 1.13.6

Bump Flink default version to 1.13.6

This flink version has been updated to 1.16.0. Thanks for contributing.


doc(HMS-3527): add rbac dev documentation

Update developer documentation adding a new rbac section to the development documentation.

Could you please explain briefly, how each permission influences idmsvc-backend. How does access as super-admin behave differently than domain-admin?

Sure! super-admin is using wildcards, meanwhile super-admin is providing the whole set of permissions that our service manage.
In terms of behavior of our service, both profiles must behave in the same way! the existence of the super-admin profile is to have evidences on our tests (or some bug replayed on the future) that our service is managing correctly the wildcards when checking a required permissions against the ACL list returned from the rbac microservice.

Could you please explain briefly, how each permission influences idmsvc-backend. How does access as super-admin behave differently than domain-admin?

Sorry! I thought about this as a clarification on the comments of the PR instead of the content of the documentation. I have updated the content.


Application broken after updating to Meteor 1.3

After I update meteor from version 1.2 to 1.3, everything has broken. The error message is:
Error: [$injector:nomod] Module 'angular-meteor' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

Mine also broke only I received this error<EMAIL_ADDRESS>not installed".

Try to use the latest version which is 1.3.9_2.

same here, i have two apps, I've upgraded both to 1.3 and one has broken with the same error, i'm trying  to see the difference

Problem solved, some dependencies where preventing angular meteor upgrade successfully, you have to update the versions manually, look at the log when you update meteor

awesome.
closing, please let me know if needs to reopen


ESPN = 24fps Streams

I keep getting 24FPS streams with ESPN. This was an issue before that seems to have come back

ESPN or ESPN+?

ESPN or ESPN+?

It seems to be both for me (what shows up in Tivimate)

I've just double checked on the latest release that events are playing at 60fps. There are some events that don't have 60fps, so maybe that is the issue?

I tried various events on ESPN, ESPN+ and FSP all said 24 fps in Tivimate.

I've just double checked on the latest release that events are playing at 60fps. There are some events that don't have 60fps, so maybe that is the issue?

Can you try opening one of the streams in VLC? Then we can figure out if it's a bug in Tivimate
Also can you paste in your docker run command?

Can you try opening one of the streams in VLC? Then we can figure out if it's a bug in Tivimate
Also can you paste in your docker run command?

I wonder if this is a Tivimate issue????
VLC:
Channel 1 for me as -  Frame rate = 59.940060 (ESPN+ hockey game)
Here is my  docker run command:
`docker run
-d
--name='EPlusTV'
--net='proxynet'
-e TZ="America/Chicago"
-e HOST_OS="Unraid"
-e HOST_HOSTNAME="Tower"
-e HOST_CONTAINERNAME="EPlusTV"
-e 'ACCESS_URI'='<IP_ADDRESS>'
-e 'START_CHANNEL'=''
-e 'ESPNPLUS'='true'
-e 'ESPN'='true'
-e 'ESPN2'='true'
-e 'ESPN3'='true'
-e 'ESPNU'='true'
-e 'SEC'='true'
-e 'SECPLUS'='true'
-e 'FOXSPORTS'='true'
-e 'FOXSPORTS_ALLOW_REPLAYS'='false'
-e 'STREAM_RESOLUTION'='720p60'
-e 'FOXSPORTS_MAX_RESOLUTION'='UHD/HDR'
-l net.unraid.docker.managed=dockerman
-l net.unraid.docker.icon='https://i.imgur.com/LrdVje2.png'
-p '8836:8000/tcp'
-v '/mnt/user/appdata/eplustv':'/app/config':'rw'
-v '/mnt/user/tmp/':'/app/tmp':'rw'
--ipc=host 'm0ngr31/eplustv'
fc79940e86938982b967697ed847dcc451ff671054ff602e643fa7eca65ecccb
The command finished successfully!
`

Yesh that's my guess. I'm wondering if it's reporting the wrong framerate or it's actually playing at a lower one...
I'm wondering if it's grabbing and reporting the framerate of the slate that plays before the event starts playing. I think that's 24fps

Yesh that's my guess. I'm wondering if it's reporting the wrong framerate or it's actually playing at a lower one...
I'm wondering if it's grabbing and reporting the framerate of the slate that plays before the event starts playing. I think that's 24fps

I played Greeny (ESPN+) in ImPlayer and it shows 0FPS - which it definitely isn't. Just passing along some info.
Thanks for all your work. Adding Fox Sports is awesome. Thanks again for the help and the app.

I'm going to close this for now and chalk it up to Tivimate not updating the framerate


MAINTAINERS: Add myself to mcu manager as collaborator

Signed-off-by: Jamie McCrae<EMAIL_ADDRESS>

@lairdjm Why? You have not yet contributed anything to the mcumgr subsystem. You have logged some issues but no proposed fixes.

@de-nordic I have a number of changes to propose and submit PR's for once mcumgr is forked for zephyr

@de-nordic I have a number of changes to propose and submit PR's for once mcumgr is forked for zephyr

That does not require being collaborator.

@de-nordic I have a number of changes to propose and submit PR's for once mcumgr is forked for zephyr

That does not require being collaborator.

No, but it's great to know. Thanks @lairdjm :)


Add PHPUnit to require-dev section

The project used PHPUnit framework for tests. What about to add it as dev dependency?

:+1: But I also think we need to change the .travis.yml file to use vendor/bin/phpunit (instead of the global phpunit). Can you change that and see if it fixes the tests?

@weaverryan I did.
I also rebase this patch with master and removed empty spaces in composer.json.

Looks great - thanks @bocharsky-bw!


Inline help in Cmdlets have wrong description and contents

There are several Cmdlets in the module with wrong or unmeaningful inline help information:

Get-MessageBody.ps1
Get-Message.ps1
New-Message.ps1

see #4 for duplicate requirements

[x] Get-MessageBody
[x] Get-Message
[ ] New-Message


Split the experienceevent analytics extension to smaller schemas

This PR links to the issue #241
To make the analytics extension schema more user/developer friendly, this PR moves the customdimension and customevent fields to separate schemas. Currently, the protobuf build failed due the large size of the experienceevent schema.
@kstreeter @trieloff @lrosenthol

@trieloff yes, the title is misleading. I modified it.

Hey @jwen-adobe this looks good, but the branch has conflicts that need to be resolved before we can commit.

@kstreeter conflict resolved.


ADLS Gen1 for Cosmos Structured Stream showing in public docs

I noticed the second screenshot showing ADLS Gen1 for Cosmos Structured Streams under this topic: https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-data-lake-store?tabs=data-factory#create-a-linked-service-to-azure-data-lake-storage-gen1-using-ui.
I don't think this should be shown on public facing documentation as Cosmos (not CosmosDB) is an internal service.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9cb553f6-e2ad-c6c9-eb6c-d7c268fef494
Version Independent ID: f9b65b63-cd6a-2973-ec79-f13dd72ebd21
Content: Copy data to or from Azure Data Lake Storage Gen1 - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/connector-azure-data-lake-store.md
Service: data-factory
Sub-service: data-movement
GitHub Login: @jianleishen
Microsoft Alias: jianleishen

@vlad-ion Thank you for sharing feedback. We are actively validating it. We will share updates soon.

Hi @jianleishen , @jonburchel - Could you please review the above feedback reported and update the doc as needed.

@vlad-ion Thank much for the feedback. The docs have been updated accordingly.
Hence closing this issue.


e2e: update rook ceph cluster version

Describe what this PR does
use pacific release for ROOK_CEPH_CLUSTER_IMAGE
Signed-off-by: Prasanna Kumar Kalever<EMAIL_ADDRESS>

/test ci/centos/k8s-e2e-external-storage

/test ci/centos/mini-e2e/k8s-1.20

/test ci/centos/upgrade-tests-cephfs

/test ci/centos/upgrade-tests-cephfs

@mergifyio rebase

/test ci/centos/mini-e2e-helm/k8s-1.19

/test ci/centos/k8s-e2e-external-storage

/test ci/centos/k8s-e2e-external-storage


Failed to fetch info for video with URL

Tried to update for the new version but without success. ytdl-mp3 is installed globally. It worked great 2 weeks ago at least. Do you have some thoughts what can be the problem?
Thanks in advance
ytdl-mp3 https://www.youtube.com/watch?v=PN-ih2G79TU
WARNING: ytdl-core is out of date! Update with "npm install ytdl-core@latest".
C:\Users\admin\AppData\Roaming\npm\node_modules\ytdl-mp3\dist\index.js:233
throw new Error(Failed to fetch info for video with URL: ${url});
^
Error: Failed to fetch info for video with URL: https://www.youtube.com/watch?v=PN-ih2G79TU
at C:\Users\admin\AppData\Roaming\npm\node_modules\ytdl-mp3\dist\index.js:233:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Node.js v18.0.0

Hi, this is caused by an issue with ytdl-core. As a temporary workaround, I downgraded the dependency. Try updating to the latest version and trying again. Let me know if it is fixed!

I updated the package and it works, although downloading goes longer than it was before. Thanks, Joshua!

I updated the package and it works, although downloading goes longer than it was before. Thanks, Joshua!

Yeah I noticed that too unfortunately. Not sure why it is.
In any case, I will update back to the new version when they fix it which should hopefully speed it up again.


Upgrade alpha70

Status
In Progress
Related Issues
fixes: link to the issue
Description
Upgrades to Docusaurus alpha 70.
Please note that this release checks for non-empty markdown link and image URLs. There were three reference docs flagged during my testing that contained empty image URLs:

/docs/reference/playbooks/get-file-sample-from-hash---generic.md
/docs.reference/playbooks/playbook1.md
/docs.reference/playbooks/playbook2.md

Not addressing empty markdown link or image URLs can result in the following error:
Error: Markdown image url is mandatory or Error: Markdown link url is mandatory
Screenshots
Paste here any images that will help the reviewer

@glicht Can you assist with the most recent build error? It appears to be related to a missing python package.
Traceback (most recent call last):
  File "./gen_pydocs.py", line 8, in <module>
    import docspec
  File "/home/circleci/.local/share/virtualenvs/project-zxI9dQ-Q/lib/python3.8/site-packages/docspec/__init__.py", line 44, in <module>
    from nr.databind.json import JsonModule
ModuleNotFoundError: No module named 'nr.databind.json'

@glicht Can you assist with the most recent build error? It appears to be related to a missing python package.
Traceback (most recent call last):
  File "./gen_pydocs.py", line 8, in <module>
    import docspec
  File "/home/circleci/.local/share/virtualenvs/project-zxI9dQ-Q/lib/python3.8/site-packages/docspec/__init__.py", line 44, in <module>
    from nr.databind.json import JsonModule
ModuleNotFoundError: No module named 'nr.databind.json'

Will check. Started a re-build as a start. It might be some temporary install issue of python deps.

@sserrata re-build passed. Are you ok to merge?

@sserrata note that we got one new alert from lgtm. See: https://github.com/demisto/content-docs/pull/429#issuecomment-771068336

Everything looks good to me. I'm ready to merge.


Allow for easier deserialization of DCV validation details in response

In MpicResponseBuider can potentially add exclude_none=True:
'body': json.dumps(response_body.model_dump(exclude_none=True))

That's a reasonable change in MpicResponseBuilder and it'll just need a corresponding unit test in test_mpic_response_builder. An alternative would be to more explicitly define the two objects in Python which may be a better solution.
Something to consider.
See https://github.com/open-mpic/open-mpic-specification/issues/8#issuecomment-2388738296

I somewhat favor the two object solution as this more closely matches the Open MPIC spec. I feel it is helpful to have the spec defined that way as it can more tightly enforce the call semantics at the Open API level.
The exclude_none approach also can also be applied more broadly. There are some fields like "errors" which can be present or not. Unlike optional fields on the API calls, api responses tend to contain all the optional fields with none values. At the moment I can't tell if this is good or bad, but I think it is something worth considering.

Merged in. Closing


The button is squeezed in Extension Preview page

Does this issue occur when all extensions are disabled?: Yes

OS Version:  Macos Intel
VS Code Version:

Version: 1.77.0-insider (Universal)
Commit: a5bd844beddef8ca5f9ccfdb1bb7b3b4f8e5204e
Date: 2023-03-22T10:41:38.157Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.3.0
Sandboxed: Yes
Steps to Reproduce:

open Extension Market and search gitlens
Resize the wide mouth and look at the button on the right

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


refactor: transactions

Checklist

[x] I have read the coding guide.
[x] My change requires a documentation update, and I have done it.
[x] I have added tests to cover my changes.
[x] I have filled out the description and linked the related issues.

Description

Open API Spec Version Changes (if applicable)

Motivation and Context (Optional)

Related Issue (Optional)

#3468
Screenshots (if appropriate):

This change is

Also, we can debate if this PR is necessary. Maybe we do not care about storing gas fee and tip?

Also, we can debate if this PR is necessary. Maybe we do not care about storing gas fee and tip?

It would be nice to know these values for a transaction that ends up hung for some reason.   By storing them, then the /transactions API can recall them to assist in debugging.


Expose kernel headers by default

They're there, might as well make them useable. This facilitates a DPDK build on the box for the target architecture and kernel (by mapping the hostPath as a volume.)
This change requires https://github.com/rancher/k3os-kernel/pull/2 to work properly.

waiting on a release including the recently merged rancher/k3os-kernel#2

Closing this as I have incorporated this PR, with credit, into #167.


Add request response logging and execution context

This PR adds a method to the workflow engine execution manager which adds request and response logging. The logging behavior logs request and response models, execution time, and execution context.
The execution context contains workflow id, name as well as task i and name. It should help us with filtering logs.

Added a pipeline builder, the ordering can still be bypassed with direct registrations. I would like to maybe disable this in the future and force all pipeline registrations through this method somehow.
builder.AddConductorSharp(
              baseUrl: configuration.GetValue<string>("Conductor:BaseUrl"),
              apiPath: configuration.GetValue<string>("Conductor:ApiUrl"),
              preventErrorOnBadRequest: configuration.GetValue<bool>("Conductor:PreventErrorOnBadRequest")
          )
          .AddExecutionManager(
              maxConcurrentWorkers: configuration.GetValue<int>("Conductor:MaxConcurrentWorkers"),
              sleepInterval: configuration.GetValue<int>("Conductor:SleepInterval"),
              longPollInterval: configuration.GetValue<int>("Conductor:LongPollInterval"),
              domain: configuration.GetValue<string>("Conductor:WorkerDomain")
          )
          .AddPipelines(pipelines =>
          {
              pipelines.AddRequestResponseLogging();
              pipelines.AddValidation();
          });

The old way is still supported, but will report a warning that the method has been deprecated
/// <summary>
        /// This method is deprecated. Use AddConductorSharp method instead. WARNING: AddExecutionManager method will change when you move to AddConductorSharp,
        /// it will no longer register validation pipeline by default, and you will have to do it manually using the AddPipelines method. Check
        /// <see href="https://github.com/codaxy/conductor-sharp/blob/master/examples/ConductorSharp.ApiEnabled/Extensions/HostConfiguration.cs">example</see>.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="baseUrl"></param>
        /// <param name="apiPath"></param>
        /// <param name="preventErrorOnBadRequest"></param>
        /// <param name="createClient"></param>
        /// <returns></returns>
        [Obsolete("Use AddConductorSharp method instead")]
        public static IWorkflowEngineBuilder AddWorkflowEngine(


GPS - old location

Hi,
I'vr been using the app for about a week now and since yesterday I've added geolocation. At the moment it's evening and I'm home, however the app still lists my location from this morning.
I've checked what Android thinks and Android puts me "at home". Google maps confirms this.
I have updated some entities and they show up in the interface so the connection to home assistant seems to work.
There are two possibilities that I think are relevant but I have no way of checking.
One is that the app is at fault and doesn't push the gps data. The other is that Home Assistant is at fault and doesn't process the gps data.
Can you please help me on how to check this and to file a proper bug report with the proper party?

Closing as duplicate of #490


SWARM-1 - Allow packaging=jar to deploy web things.

[X] Have you followed the guidelines in our Contributing document?
[X] Have you created a JIRA and used it in the commit message?
[X] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[X] Have you built the project locally prior to submission with mvn clean install?

Also, SWARM-682 and SWARM-362, which are intertwinglyly related.
Motivation
For simple applications, you shouldn't have to build a .war
Modifications
Now, if :undertow or :jaxrs is present, and the default deployment
happens to be a .jar, we think that is obviously an error, and we
strongly coerce that .jar into a servlet or jaxrs war by re-arranging
the classes, adding dependencies, etc.
Additionally, the dependency between :cdi and :undertow has been
broken as it's not actually required.
Result
Now you can produce a normal .jar project and magically get a .war
deployed.  Only worthwhile if you're doing the default deployment.
Additionally, you can have a "pure" CDI app that doesn't involve
any web components now.

Retest this please

If this fails again in CI can someone try it locally? I'm surprised it failed in fact.

Dangit. I'll review tomorrow.

Please retest

Retest this please

Apparently just fundamentally broken. I'll figure it out and integrate your other comments.

retest this please

retest this please

retest this please

For now we're closing this as there are issues with CI that require a reworking of how we test

Terrible terrible terrible.


Compiler: Specified stdlib root path for Move

Motivation
Compiler: Specified stdlib root path for Move.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan

cargo build --bin compiler
run compiler on other computer

$ ./compiler ~/hello.mvir
thread 'main' panicked at 'Unable to read file: "/Volumes/backup/repos/libra/language/stdlib/modules/hash.mvir"', language/compiler/src/util.rs:18:29
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

with this PR

$ ./compiler --stdlib-root ~/repos/bcx/libra/language/stdlib/ ~/hello.mvir

Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

would someone help to review this PR ?
I like to get suggestion or feedback from you.
Thanks,


duration: keep duration parser compatible with tidb

What is changed and how it works?

Issue Number: Close #12932
What's Changed:

add format_can_match_datetime to check whether an input string can potentially be parsed using datetime format, this function is similar to tidb::types::format_can_match_datetime
allow duration parser partially parse input string using hhmmss_compact when origin input string len is less than 12 and (fallback_to_datetime is false or format_can_match_datetime check fails)
modify origin duration test to match modification results
add unit tests for trivial and boundary cases, some of them are as follows

0000-00-00 from origin tidb issue
20100-02-12
99999-99-99
1-----
consider overflow test: 99990000

Related changes

PR from tidb side: #35455

Check List
Tests

Unit test

Side effects

Breaking backward compatibility

Release note
None

/run-build

/run-integration-copr-test

/run-integration-copr-test

/test

/test

/test

/test

/tests

/run-integration-copr-test

/build

/run-integration-copr-test

/run-test

/run-build

/run-integration-copr-test

/run-integration-copr-test

/run-build

/run-integration-copr-test

/run-build

/run-build

/run-build

/run-build

LGTM

/run-integration-copr-test

/run-integration-copr-test

https://github.com/tikv/tikv/issues/13057 test_stale_read_while_applying_snapshot is a flaky test.

/run-integration-copr-test

Seems this case is broken for certain:

[2022-07-20T13:26:09.452Z] 2022/07/20 21:26:09 2022/07/20 21:25:55 Test fail: Outputs are not matching.

[2022-07-20T13:26:09.452Z] Test case: sql/randgen/10_agg.sql

[2022-07-20T13:26:09.452Z] Statement: #603 -  SELECT BIT_OR( `col_varbinary_32` * `col_timestamp_key` ) AS field1 FROM `table20_int_autoinc` WHERE `col_enum_key` GROUP BY `col_char_2` ORDER BY `col_char_2` /* QNO 610 CON_ID 1137 */ ;

[2022-07-20T13:26:09.452Z] NoPushDown Output:

[2022-07-20T13:26:09.452Z] Error 1690: constant 1.4192255912751713e+22 overflows bigint

[2022-07-20T13:26:09.452Z]

[2022-07-20T13:26:09.452Z] WithPushDown Output:

[2022-07-20T13:26:09.452Z] field1

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z] 0

[2022-07-20T13:26:09.452Z]<PHONE_NUMBER>854775807

[2022-07-20T13:26:09.452Z] 0

Sure I am looking into it.

/run-all-tests

/merge

add new issue #36400


Toggl - Performance, Startup and App Size Challenge

I've attempted the performance challenge using the Toggl Android App
Build Performance (No bin/obj)

Before Cold Build Times Changes:

Time Elapsed 00:00:41.91

After Cold Build Times Changes:

Time Elapsed 00:00:36.81

Nice 👌
We also noticed a reasonable improvement in our CI build times (~20%), so this part was a success 🎉
Startup Performance (Activity Displayed)

Before Startup Tracing:

ActivityManager: Displayed com.toggl.giskard/md56d31f6f2c59878fdf075cc45b4e7258a.MainTabBarActivity: +2s236ms

After Startup Tracing:

ActivityManager: Displayed com.toggl.giskard/md56d31f6f2c59878fdf075cc45b4e7258a.MainTabBarActivity: +2s805ms

No difference here :/
Application Size (Download Size)

Before Application Size Changes:

com.toggl.giskard-arm64-v8a-Signed.apk
App download size: 32MB

After Application Size Changes:

com.toggl.giskard-Signed.aab
App download size: 53MB

Comparison is not fair since it's looking at a single architecture APK vs a bundle with all of our supported architectures. Looking at the size of each individual architecture folder, tho, it's likely that this will decrease the app size significantly :)

Any comments / feedback for how we can improve this experience?
The changes can be seen on this branch, so you guys can double check if the Profiled AOT bits are correct, after all any performance gains are welcome

@heytherewill Thank you so much for your submission! To claim your swag, please fill out this quick survey!
http://aka.ms/androidappchallenge


PythonTracebackLexer and Python3TracebackLexer are using the missing Name.Identifier token

(Original issue 612 created by None on 2010-11-11T02:22:34.355433+00:00)
I replaced the first use with Name.Function.
I also changed the
<<<bygroups(Name.Class, Text, Name.Identifier, Text), '#pop')>>> line to
<<<bygroups(Name.Exception, Text, Generic.Error, Text), '#pop'),>>>

(Original issue 612 last updated on 2010-11-26T09:42:46.120213+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2010-11-26T09:42:46.110850+00:00)
Fixed in <<changeset 60c51117409d>>.


Standard Operating Procedure REAL?!

About the PR

This adds the entirety of the SOP that Goob LRP and Goob MRP can use.
Why / Balance

Staff wanted an SOP. Rouge2t7, Tikibomb, and I worked on the SOP and then I sorted, added the files, and compiled everything for a PR.
Technical details

This adds more FTL entries to the guides underneath Goobstation directory in Resources. This also adds like 300+ lines of YML for making the guide entries for the FTL.
Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

This does not present any breaking changes, but if something crashes a client, there could potentially be a bad link (I tested them all).
Changelog

:cl: CerberusWolfie, Rouge2t7, and Tikibomb

add: Standard Operating Procedure is here!

goob MRP arc
don't make violating sop a bannable offense though.

Yeah uh, just make it mostly ic issues for non command and for command, if they constantly ignore sop, just ban them from command

SOP on LRP is required for Command and Security since it's pseudo rules.
Everything else is mostly a guide and something you "can" follow.

No, it wouldn't be bannable unless it violated server rules.

make sure the sec shaker is SOP

goob MRP arc don't make violating sop a bannable offense though.

It's a guideline more than a ruleset. Though some will likely be enforced harder than others.

This exactly. It's intended to be a guideline for everyone but a (semi) ruleset for Command/Security in LRP.

Didn't read a single line

Mood

mrp bs :-1:

mrp bs 👎

Thank you for that very insightful and constructive comment.


[Feature-WIP](inverted index)(bkd) Support try query before query bkd to improve query efficiency

Proposed changes
According to our test, the query speed is faster than that without bkd index when the hit volume of bkd index is small, otherwise, it is slower, so we add try_query logic. When the estimated hit volume reaches config::query_bkd_inverted_index_limit_percent, will downgrade to query without bkd index.
dependency pr: https://github.com/apache/doris/pull/14211 https://github.com/apache/doris/pull/15807 https://github.com/apache/doris/pull/15823
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.33 seconds
load time: 505 seconds
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230118185633_clickbench_pr_83484.html


[BUG] Problem importing knative CRDs

Describe the bug
I'm trying to import the KNative serving CRD from https://github.com/knative/serving/releases/download/v0.14.0/serving-crds.yaml
I get the following error:
TypeError: Cannot read property 'kind' of null
    at /usr/local/lib/node_modules/cdk8s-cli/lib/import/crd.js:81:34
    at Array.filter (<anonymous>)
    at Function.match (/usr/local/lib/node_modules/cdk8s-cli/lib/import/crd.js:81:14)
    at async matchImporter (/usr/local/lib/node_modules/cdk8s-cli/lib/import/dispatch.js:23:17)
    at async Object.importDispatch (/usr/local/lib/node_modules/cdk8s-cli/lib/import/dispatch.js:7:26)
    at async Object.handler (/usr/local/lib/node_modules/cdk8s-cli/bin/cmds/import.js:27:9)

There are a couple of other things worth noting. Firstly, there is no following of redirects on download of HTTP resources (so using that URL doesn't work). Secondly, as you can see there is no clear idea of where in the imported CRD the problem lies.
To Reproduce
Since redirects don't work, I downloaded the crd like this:
wget https://github.com/knative/serving/releases/download/v0.14.0/serving-crds.yaml

Here is my cdk8s.yaml
language: typescript
app: node main.js
imports:
  -<EMAIL_ADDRESS>  - serving-crds.yaml

And then I run cdk8s import
Expected behavior
It to work as the CRD example.
Additional context
I've tried a couple of other CRDs and they work fine.

thanks for the report. we'll take a look

@iliapolo would you be able to take a look at this?

I can help too - seems like there is a few things going on here.

The .yaml there ends with --- and we're not handling that properly. I think the parseAllDocuments grabs the last "empty" doc after the ---. PR here: https://github.com/awslabs/cdk8s/pull/130 to make sure doc is defined before casting it to CustomResourceApiObject and trying to get the kind.

https://github.com/awslabs/cdk8s/blob/2034ec06f0c9fb419a194cbb23a18e2678076d29/packages/cdk8s-cli/lib/import/crd.ts#L107-L109

Parsing still fails, because the knative CRD you have has fields that we don't:

https://github.com/awslabs/cdk8s/blob/2034ec06f0c9fb419a194cbb23a18e2678076d29/packages/cdk8s-cli/lib/import/crd.ts#L10-L24
(probably just need to update that to handle this)

Figuring out the downloading issue.

This is resolved by #132


Could not find module 'secp256k1' for target 'x86_64-apple-ios-simulator'

Hey @mattiaferrari02
This error doesn't provide enough context and makes me think there is a settings issue in Xcode.


Add John Innes Centre

John Innes Centre is a research institute located in Norwich, UK - world-leading in the use of large-scale genomic data to advance biology. The institute runs a PhD and Masters programmes (together with the University of East Anglia) and offers other training opportunities in computational biology and IT areas (apprenticeships, internships): https://www.jic.ac.uk/training-careers/

@cb2e6f First stage of verification passed, official domain for John Innes Centre is jic.ac.uk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@cb2e6f I am sorry, this domain seems to represent a research center, not a specific single university or a college.
Students and teachers working or studying in the research center are affiliated with some schools, and may be able to request a free license using their email address there. If you need a license for researchers, please email<EMAIL_ADDRESS>and get a significant academic discount.
If you are a student without any other affiliation, please enroll to GitHub Student Developer Program at https://education.github.com/discount_requests/application. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).
I have to close this request without merging.
Thank you for your understanding!


Refactor to use while-let in buffer.integrate_edit()

This really is a minor refactor but I came a cross it while looking through the code and thought I may as well just submit it.
What
Refactor to use while-let syntax instead of a manuell check and assignment
Why

Replaces two item() calls with just one
Gets rid of an .unwrap() call
More idiomatic code

Thanks!


Fix a typo in document

I found a typo in times section.

No typo here. It's just the chaining syntax. See the note above the exemple.

Sorry, it was my mistake.


Mw/new test

I replied on #9 but again for history
I downloaded 0.1.2 and checked that the test is passing as you pointed out. I think the reason why deserialize does not work properly only in my code is, I used customized version of cerialize in node_modules/cerialize which i modified since the previous released version (0.1.1) does not support #11.
Thanks for adding test.

I replied on #9 but again for history
I downloaded 0.1.2 and checked that the test is passing as you pointed out. I think the reason why deserialize does not work properly only in my code is, I used customized version of cerialize in node_modules/cerialize which i modified since the previous released version (0.1.1) does not support #11.
Thanks for adding test.


Changes to Edit Reasons Submit Function

Moved the display values call after setvalue call, list now refreshes when items are added.  Added code to clear text boxes after item is submitted.

Thanks! Merged :)


⚠ Bofrost.at has degraded performance

In 2da04fc, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1738 ms

Resolved: Bofrost.at performance has improved in 9f5190e after 26 minutes.


added react client app for playground

closes: #161, #158
first take of playground with table results.
Todo:

[x] oauth sources only open login pages after second selection (bug)
[x] uber connection failes

will continue on monday - have a nice weekend everyone ;)

@ovbm I was able to merge server and client by including webpack compilation inside the server.
I also used componentDidUpdate to call the run() method, as else we weren't guaranteed that the state was updated just before. It's cleaner that way.
To run, just cd playground then yarn and yarn serve

@corradio ready for merge, needs review.

There's a lot of errors on the console that (I think) might be the reason why the playground becomes unstable after a while:

fixed

well done


local cache to central storage

Please describe in more detail how the local cache is used; at what interval or trigger is the data in the local cached sent to the remote storage providers? How large should the local cache generally be? a few kb, MB, GB?
thanks
Roland van der Kruk

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 658bf8f2-3a48-9236-4d97-937fa898c99e
Version Independent ID: 658bf8f2-3a48-9236-4d97-937fa898c99e
Content: Cloud Cache Overview - FSLogix
Content Source: fslogix-docs/concepts-fslogix-cloud-cache.md
Product: fslogix
GitHub Login: @msft-jasonparker
Microsoft Alias: japarker

We intentionally do not document how and when the data is written to the remote storage providers. The local cache is representative of the full size of the users profile.  There is no "right" size as each customers requirements are different and their workloads are different.
If provided, how would the information you are seeking benefit you or others?

Jason,
it is just the technical background of how it exactly works with the cache. If network connection to the vhdx is lost maybe the cache will fill up until full size, but what is the behavior when a full speed network connection is available ? I would reckon that the cache then is not supposed to be very large.
It is to give people an understanding of what to expect in which situation, at initial deployment but also during regular operations.
Hope that helps clarity my need for more information.
Regards
Roland van der Kruk
Verzonden vanaf Outlook voor Androidhttps://aka.ms/AAb9ysg

From: Jason Parker @.>
Sent: Thursday, April 13, 2023 5:15:06 PM
To: MicrosoftDocs/fslogix-docs @.>
Cc: Roland van der Kruk - SBCprojects.com @.>; Author @.>
Subject: Re: [MicrosoftDocs/fslogix-docs] local cache to central storage (Issue #146)
We intentionally do not document how and when the data is written to the remote storage providers. The local cache is representative of the full size of the users profile. There is no "right" size as each customers requirements are different and their workloads are different.
If provided, how would the information you are seeking benefit you or others?
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/fslogix-docs/issues/146#issuecomment-1507152693, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADCI2BF7J7IU6NHGPAXWHITXBAJ7VANCNFSM6AAAAAAW444M4Q.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for the feedback, I've added new information to the Cloud Cache overview page specifically for remote storage providers. I'm hoping this fills the gap you feel is missing.


Can readable scale AG replicas for the same AG locate on the same node?

In the doc for AG, it only mentions that the replicas for the same AG cannot be located on the same WSFC cluster node:
"For a given availability group, the availability replicas must be hosted by separate instances of SQL Server residing on different nodes of a WSFC cluster."
According to our test, the readable scale AG also has such limitation. But in the official document, it is not mentioned and readable scale AG does not need WSFC. Could you please help to verify that and add certain statement in the document for readable scale AG?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7d2fdfcd-bb40-75ae-21ba-f9019f816d5a
Version Independent ID: cfecc4e2-f246-809e-6445-d96eb753e101
Content: Use read-scale with availability groups - SQL Server Always On
Content Source: docs/database-engine/availability-groups/windows/read-scale-availability-groups.md
Product: sql
Technology: availability-groups
GitHub Login: @cawrites
Microsoft Alias: chadam

@AnyiYang -- thank you for your feedback.
@cawrites -- please look into this issue.

@AnyiYang -- thank you for your feedback.
@cawrites -- please look into this issue.

Hi team,
Is there any update on this?

@AnyiYang thank you for contacting Microsoft regarding this issue. We are researching your question and will reply with an update.

@AnyiYang we will make the following revision to address this concern:
"For a given availability group, the availability replicas must be hosted by separate instances of SQL Server residing on different nodes of a WSFC cluster, with the exception of read-scale availability groups, which have no cluster requirement." This should appear in the next documentation refresh.

@cawrites Do you mean that for readable-scale availability group, there is no need to put different replicas on different nodes? Have you done any test on that? In my environment, we cannot configure different replicas for the same readable-scale availability group on the same node. Could you confirm that?

@AnyiYang I conducted some research on your comment, viewing it as a quote from the content. However, I am unable to find this exact syntax to update. Was your comment an extension of your question, or were you quoting? The associated content does not have the syntax you mentioned.

@AnyiYang the information I have obtained is that replicas in any AG, read-scale, or regular AG should always be on different nodes.

@AnyiYang we appreciate your patience as we researched your question. We have provided the latest update. Thank you for contacting Microsoft.

#please-close


sql syntax to select columns of child documents

Hi,
I am trying to write sql to select (project) only certain fields from a nested document in the query result. I tried this for one field and it seemed to work correctly
select Tumors[*].primarySite from Patients
However, when I tried to add one more field from the nested document that field did not get included in the result.
select Tumors[].primarySite, Tumors[].grade from Patients
What is the correct syntax for doing the above query?

select Tumors[].primarySite, Tumors[].grade from Patients

Does anyone know how to do this?
Fyi, I have a collection of patient documents and each patient document has an array of tumor documents.

If this is not currently supported through SQL SELECT, can someone suggest a good way to do it?


Monadic operations don't support member pointers

The monadic operations use f() syntax to call the function objects they're given. I think supporting member function/data pointers through std::invoke would be good so that users can write code like:
optional<string> s;
auto opt_size = map(s, &string::size);

I'm a little bit ambivalent about this as std::invoke is not constexpr - I would have to add an extra non-constexpr overload for member function pointers... will think about it :)


Add a known issue to the release notes.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[VkBridge] Switch maintainer

git log says, that no commits since 2016 from previous maintainer. @pmaziere was also maintaining it for some time, so added also him.
@Ahiles3005 and @pmaziere welcome to discuss.

I think you have improved the bridge enough to be knighted new maintainer :crown:


[Performance] Replace flume-based dispatcher with crossbeam-channel

A while back, flume claimed the performance crown for throughput. However, this has not been the case for a while.
Under my own benchmarks, I can consistently cause crossbeam to outperform flume.
The benchmark here is taken from Crossbeam's own benchmarks - https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel/benchmarks - and modified slightly to be testable with criterion (variable message count, and an off-by-one fix for allowing that variable number of messages to work).
This change reverts this, removing flume from the dependency tree completely and switching to the existing crossbeam-channel dependency.
Tested with criterion - the only case that flume is competitive here is seq - which is not the pattern used by the Dispatcher, it's closer to mpmc:

Dependencies for the benchmark:
crossbeam-channel = "0.5.13"
flume = "0.11.0"
quanta = "0.12.3"
criterion = { version = "0.5.1", features = ["async_tokio"] }

quanta here can be replaced with std::time::Instant, but it uses the performance counter.
Benchmark source code
use criterion::{criterion_group, criterion_main, Criterion};

mod message {
    use std::fmt;

    const LEN: usize = 1;

    #[derive(Clone, Copy)]
    pub(crate) struct Message(#[allow(dead_code)] [usize; LEN]);

    impl fmt::Debug for Message {
        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
            f.pad("Message")
        }
    }

    #[inline]
    pub(crate) fn new(num: usize) -> Message {
        Message([num; LEN])
    }
}

const THREADS: usize = 4;

mod flume {
    use crate::{message, THREADS};
    use quanta::Instant;
    use std::sync::{Arc, Barrier};
    use std::time::Duration;

    pub fn seq_unbounded(messages: usize) -> Duration {
        let (tx, rx) = flume::unbounded();

        let start = Instant::now();

        for i in 0..messages {
            tx.send(message::new(i)).unwrap();
        }

        for _ in 0..messages {
            rx.recv().unwrap();
        }

        start.elapsed()
    }

    pub fn spsc_unbounded(messages: usize) -> Duration {
        let (tx, rx) = flume::unbounded();

        std::thread::scope(|scope| {
            let b = Arc::new(Barrier::new(2));
            {
                let b = b.clone();
                scope.spawn(move || {
                    b.wait();
                    for i in 0..messages {
                        tx.send(message::new(i)).unwrap();
                    }
                });
            }

            b.wait();
            let start = Instant::now();

            for _ in 0..messages {
                rx.recv().unwrap();
            }

            start
        }).elapsed()
    }

    pub fn mpsc_unbounded(messages: usize) -> Duration {
        let (tx, rx) = flume::unbounded();

        std::thread::scope(|scope| {
            let b = Arc::new(Barrier::new(THREADS + 1));
            for _ in 0..THREADS {
                let b = b.clone();
                let tx = tx.clone();
                scope.spawn(move || {
                    b.wait();
                    // Hack to allow criterion to work as intended
                    for i in 0..(messages / THREADS + 1) {
                        tx.send(message::new(i)).unwrap();
                    }
                });
            }

            b.wait();
            let start = Instant::now();

            for _ in 0..messages {
                rx.recv().unwrap();
            }

            start
        }).elapsed()
    }
}

mod crossbeam {
    use crate::{message, THREADS};
    use quanta::Instant;
    use std::sync::{Arc, Barrier};
    use std::time::Duration;

    pub fn seq_unbounded(messages: usize) -> Duration {
        let (tx, rx) = crossbeam_channel::unbounded();

        let start = Instant::now();

        for i in 0..messages {
            tx.send(message::new(i)).unwrap();
        }

        for _ in 0..messages {
            rx.recv().unwrap();
        }

        start.elapsed()
    }

    pub fn spsc_unbounded(messages: usize) -> Duration {
        let (tx, rx) = crossbeam_channel::unbounded();

        std::thread::scope(|scope| {
            let b = Arc::new(Barrier::new(2));
            {
                let b = b.clone();
                scope.spawn(move || {
                    b.wait();
                    for i in 0..messages {
                        tx.send(message::new(i)).unwrap();
                    }
                });
            }

            b.wait();
            let start = Instant::now();

            for _ in 0..messages {
                rx.recv().unwrap();
            }

            start
        }).elapsed()
    }

    pub fn mpsc_unbounded(messages: usize) -> Duration {
        let (tx, rx) = crossbeam_channel::unbounded();

        std::thread::scope(|scope| {
            let b = Arc::new(Barrier::new(THREADS + 1));
            for _ in 0..THREADS {
                let b = b.clone();
                let tx = tx.clone();
                scope.spawn(move || {
                    b.wait();
                    // Hack to allow criterion to work as intended
                    for i in 0..(messages / THREADS + 1) {
                        tx.send(message::new(i)).unwrap();
                    }
                });
            }

            b.wait();
            let start = Instant::now();

            for _ in 0..messages {
                rx.recv().unwrap();
            }

            start
        }).elapsed()
    }
}

fn bench(c: &mut Criterion) {
    let mut g = c.benchmark_group("channel-impls");
    g.bench_function("flume seq", |b| {
        b.iter_custom(|c| flume::seq_unbounded(c as usize))
    });
    g.bench_function("flume spsc", |b| {
        b.iter_custom(|c| flume::spsc_unbounded(c as usize))
    });
    g.bench_function("flume mpsc", |b| {
        b.iter_custom(|c| flume::mpsc_unbounded(c as usize))
    });

    g.bench_function("crossbeam seq", |b| {
        b.iter_custom(|c| crossbeam::seq_unbounded(c as usize))
    });
    g.bench_function("crossbeam spsc", |b| {
        b.iter_custom(|c| crossbeam::spsc_unbounded(c as usize))
    });
    g.bench_function("crossbeam mpsc", |b| {
        b.iter_custom(|c| crossbeam::mpsc_unbounded(c as usize))
    });
}

criterion_group!(benches, bench);
criterion_main!(benches);

Just marking this draft while I improve the benchmark accuracy

We need asyncness brought by flume. Performance is not the problem here.

... I can't believe I missed that. Still, good practice learning to benchmark on my end. I'll close this!


[FEATURE] JRTB-5: As a user, I want to add the group to the subscription

As a user, I want to add the group to the subscription
Acceptance criteria:

/addGroupSub command added
tests for it created

Implemented in #25


Add retry and back-off for dependency download

Closes https://github.com/ansible/molecule/issues/2114.
If someone wants it to be configurable, then I'll add it. Not now.
I've tested this manually. The existing test suite should cover it.

Here's the log:
(.venv) ➜  molecule (feature/dependency-retries) ✔ molecule init role -r testdepretry
--> Initializing new role testdepretry...
Initialized role in /.../molecule/testdepretry successfully.
(.venv) ➜  molecule (feature/dependency-retries) ✗ cd testdepretry
(.venv) ➜  testdepretry (feature/dependency-retries) ✗ cp ../test/scenarios/dependency/molecule/ansible-galaxy/requirements.yml molecule/default
(.venv) ➜  testdepretry (feature/dependency-retries) ✗
(.venv) ➜  testdepretry (feature/dependency-retries) ✗ nmcli radio wifi off
(.venv) ➜  testdepretry (feature/dependency-retries) ✗ molecule dependency
--> Validating schema /.../molecule/testdepretry/molecule/default/molecule.yml.
Validation completed successfully.
--> Test matrix

└── default
    └── dependency

--> Scenario: 'default'
--> Action: 'dependency'
 [WARNING]: - timezone was NOT installed successfully: Failed to get data from
the API server (https://galaxy.ansible.com/api/): Failed to connect to
galaxy.ansible.com at port 443: [Errno -2] Name or service not known

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
Retrying dependency ... 1/3 time(s)
Sleeping 3 seconds before retrying ...
 [WARNING]: - timezone was NOT installed successfully: Failed to get data from
the API server (https://galaxy.ansible.com/api/): Failed to connect to
galaxy.ansible.com at port 443: [Errno -2] Name or service not known

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
Retrying dependency ... 2/3 time(s)
Sleeping 6 seconds before retrying ...
 [WARNING]: - timezone was NOT installed successfully: Failed to get data from
the API server (https://galaxy.ansible.com/api/): Failed to connect to
galaxy.ansible.com at port 443: [Errno -2] Name or service not known

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
Retrying dependency ... 3/3 time(s)
Sleeping 9 seconds before retrying ...
 [WARNING]: - timezone was NOT installed successfully: Failed to get data from
the API server (https://galaxy.ansible.com/api/): Failed to connect to
galaxy.ansible.com at port 443: [Errno -2] Name or service not known

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
[1]    17219 exit 1     molecule dependency

/cc @robertdebock


Version 1.16.5-2.14 is marked for Fabric?

Minecraft Version
1.16.5
Forge Version
idk
Space-BossTools or Beyond Earth Version
idk
Addon Mod Version (This Mod)
1.16.5-2.14
The details
Hi, I saw that version 1.16.5-2.14 is available for Fabric but all other versions are available for Forge.
I guess this is a typo / misslick, right?!?

Oh, It just missclick.
I didn`t knew it.
tysm!


Shift indicator above and add text to bottom

hi!
I have 3 questions:

how to change the color of the indicator bordor
how to shift the indicators above the base bar where the skip button reside.
how to add a text in the center of the base bar between skip and right arrow.

regards

This is all accomplished by using a custom indicator.


Fix #3223

@stasj I'm unclear on why we would want this to happen.  The PVariableSelector is populating the VComboBox with values from DataMgr::GetDataVarNames(int nDim, VarType type).  These are the only values that should be valid.
With this PR, the VComboBox will have options that were not retrieved from the DataMgr.  If we follow Sam's steps listed in #3223, the 3D variable P will be included among the rest of the 2D variables.  But we should only be able to select 2D bias variables for 2D flow.
Can you explain the use case for giving the user options outside of variables returned by DataMgr::GetDataVarNames(int nDim, VarType type)?  I'll note that this PR affects all VComboBoxes in the GUI, not just our variable selectors.  If accepted, we may need to perform GUI regression tests.

@StasJ I'm unclear on why we would want this to happen. The PVariableSelector is populating the VComboBox with values from DataMgr::GetDataVarNames(int nDim, VarType type). These are the only values that should be valid.
With this PR, the VComboBox will have options that were not retrieved from the DataMgr. If we follow Sam's steps listed in #3223, the 3D variable P will be included among the rest of the 2D variables. But we should only be able to select 2D bias variables for 2D flow.
Can you explain the use case for giving the user options outside of variables returned by DataMgr::GetDataVarNames(int nDim, VarType type)? I'll note that this PR affects all VComboBoxes in the GUI, not just our variable selectors. If accepted, we may need to perform GUI regression tests.

What would you suggest as an alternative correct behavior?

What would you suggest as an alternative correct behavior?

I think PR #3226 does the trick, but you mention the following:

There are two separate bugs here. My PR fixes a bug in the GUI while this PR fixes a bug in the Flow params.

What's the other bug in the GUI?  As far as I can tell, this bug is fixed if we set better default values when switching between 2D and 3D rendering.

What would you suggest as an alternative correct behavior?

I think PR #3226 does the trick, but you mention the following:

There are two separate bugs here. My PR fixes a bug in the GUI while this PR fixes a bug in the Flow params.

What's the other bug in the GUI? As far as I can tell, this bug is fixed if we set better default values when switching between 2D and 3D rendering.

The bug your PR fixes is that the Flow params does not properly set its default variables. The unrelated bug that this PR fixes is that the VComboBox ignores calls to SetValue if the value is not already in its options.


[gdk-pixbuf] Build error

Host Environment

OS: [docker container for Ubuntu:20.04]
Compiler: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

To Reproduce
Steps to reproduce the behavior:
./vcpkg install opencv3
Failure logs
Starting package 1/12: gdk-pixbuf:x64-linux
Building package gdk-pixbuf[core]:x64-linux...
-- Using cached gdk-pixbuf-2.42.2.tar.xz.
-- Cleaning sources at /vcpkg/buildtrees/gdk-pixbuf/src/k-pixbuf-2-de66e4ea53.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /vcpkg/downloads/gdk-pixbuf-2.42.2.tar.xz
-- Applying patch fix_build.patch
-- Applying patch fix_build_error_windows.patch
-- Using source at /vcpkg/buildtrees/gdk-pixbuf/src/k-pixbuf-2-de66e4ea53.clean
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
-- Configuring x64-linux-dbg
-- Configuring x64-linux-dbg done
-- Configuring x64-linux-rel
-- Configuring x64-linux-rel done
-- Package x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
    Command failed: /vcpkg/downloads/tools/ninja/1.10.2-linux/ninja install -v
    Working Directory: /vcpkg/buildtrees/gdk-pixbuf/x64-linux-dbg
    Error code: 1
    See logs for more information:
      /vcpkg/buildtrees/gdk-pixbuf/package-x64-linux-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_install_meson.cmake:53 (vcpkg_execute_required_process)
  ports/gdk-pixbuf/portfile.cmake:40 (vcpkg_install_meson)
  scripts/ports.cmake:145 (include)

Additional context

I modified the vcpkg/triplets/x64-linux.cmake and set VCPKG_LIBRARY_LINKAGE to dynamic

the last 2 logs from /vcpkg/buildtrees/gdk-pixbuf/package-x64-linux-dbg-out.log:

[92/120] /usr/bin/cc -Itests/pixbuf-scale.p -Itests -I../src/k-pixbuf-2-de66e4ea53.clean/tests -I. -I../src/k-pixbuf-2-de66e4ea53.clean -Igdk-pixbuf -I../src/k-pixbuf-2-de66e4ea53.clean/gdk-pixbuf -I/vcpkg/installed/x64-linux/debug/lib/pkgconfig/../../../include/glib-2.0 -I/vcpkg/installed/x64-linux/debug/lib/pkgconfig/../../lib/glib-2.0/include -I/vcpkg/installed/x64-linux/debug/lib/pkgconfig/../../../include -I/vcpkg/installed/x64-linux/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -g -D_POSIX_C_SOURCE=200809L -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -DGDK_PIXBUF_RELOCATABLE -DHAVE_CONFIG_H=1 -fPIC -g -pthread -Wpointer-arith -Wformat=2 -Wstrict-prototypes -Wnested-externs -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wcast-align -Wmissing-noreturn -Wmissing-format-attribute -Wlogical-op -fno-strict-aliasing -Wno-int-conversion -Wno-uninitialized -Wno-discarded-qualifiers -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=empty-body -fvisibility=hidden -MD -MQ tests/pixbuf-scale.p/pixbuf-scale.c.o -MF tests/pixbuf-scale.p/pixbuf-scale.c.o.d -o tests/pixbuf-scale.p/pixbuf-scale.c.o -c ../src/k-pixbuf-2-de66e4ea53.clean/tests/pixbuf-scale.c
ninja: build stopped: subcommand failed.

the last 2 logs from /vcpkg/buildtrees/gdk-pixbuf/package-x64-linux-dbg-out.log:

The error is somewhere before these lines. ninja runs parallel jobs, and the output continues until all parallel jobs are finished.

the last 2 logs from /vcpkg/buildtrees/gdk-pixbuf/package-x64-linux-dbg-out.log:

The error is somewhere before these lines. ninja runs parallel jobs, and the output continues until all parallel jobs are finished.

I use "stderr" to search the log, the error is :
error while loading shared libraries: libpcre.so: cannot open shared object file: No such file or directory.
Then I use "find / -name libpcre.so" to search these missing libraries, the result is:
/vcpkg/installed/x64-linux/lib/libpcre.so
/vcpkg/installed/x64-linux/debug/lib/libpcre.so
/vcpkg/buildtrees/pcre/x64-linux-dbg/libpcre.so
/vcpkg/buildtrees/pcre/x64-linux-rel/libpcre.so
/vcpkg/packages/pcre_x64-linux/lib/libpcre.so
/vcpkg/packages/pcre_x64-linux/debug/lib/libpcre.so

the last 2 logs from /vcpkg/buildtrees/gdk-pixbuf/package-x64-linux-dbg-out.log:

The error is somewhere before these lines. ninja runs parallel jobs, and the output continues until all parallel jobs are finished.

I use "stderr" to search the log, the error is : error while loading shared libraries: libpcre.so: cannot open shared object file: No such file or directory. Then I use "find / -name libpcre.so" to search these missing libraries, the result is: /vcpkg/installed/x64-linux/lib/libpcre.so /vcpkg/installed/x64-linux/debug/lib/libpcre.so /vcpkg/buildtrees/pcre/x64-linux-dbg/libpcre.so /vcpkg/buildtrees/pcre/x64-linux-rel/libpcre.so /vcpkg/packages/pcre_x64-linux/lib/libpcre.so /vcpkg/packages/pcre_x64-linux/debug/lib/libpcre.so

I use "apt-get install libpcre3-dev" to install the missing library, and this time the error is missing libffi.so, so I guess installing all missing libraries by myself is not a good way.

error while loading shared libraries: libpcre.so: cannot open shared object file: No such file or directory.

IIUC some tool failed to run. It would be more helpful to know the tool.

I use "apt-get install libpcre3-dev" to install the missing library

libpcre3-dev doesn't provide libpcre.so (itself). I guess the problem isn't Ubuntu packages, it is a vcpkg packages.
FTR if you enabled dynamic linkage on linux: it is untested, and the key gap is making shared objects available for tools. The supported x64-linux triplet has static linkage, so it wouldn't build libpcre.so.

Thanks! Eventually I gave up on using dynamic libraries.
After installing libpcre3-dev & libffi-dev, the installation process continues.


[AMBARI-24195] Enrich services.json with cluster-env properties when passing data to stack advisor

What changes were proposed in this pull request?
In order to have all required data in the stack advisor we need to add cluster-env properties into services.json. For example the security_enabled flag was missing in case STORM was already deployed and we modified its configuration.
How was this patch tested?
Latest test run in ambari-server:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46:29 min
[INFO] Finished at: 2018-06-26T23:17:23+02:00
[INFO] Final Memory: 171M/803M
[INFO] ------------------------------------------------------------------------

In addition to unit testing I disabled/enabled Ranger plugin in Storm (in a secured cluster) and checked if nimbus.authorizer set to the appropriate value (and got removed when I disabled Kerberos)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2888/
Test FAILed.
Test FAILured.

Abandoning this change as this got solved by following another path


docker/kubrenetes nodes discovery

Summary
I can create docker stack using this file
version: "3.7"

networks:
  main:

services:
  couchdb:
    image: couchdb:2.3.1
    environment:
    - NODENAME=couchdb-{{.Task.Slot}}
    - COUCHDB_SECRET=monster
    - ERL_FLAGS="-setcookie monster"
    ports:
    - "5984"
    - "5986"
    networks:
    - main
    deploy:
      replicas: 5

And command
docker stack deploy --compose-file docker-compose.yaml kazoo

This will create

kazoo_main network
couchdb service
five couchdb containers with unique names

Could you implement following logic for couchdb node discovery and automatic cluster formation.
resolv ${SEED_DNS_NAME}
root@dbef6f82ce5f:/# nslookup ${SEED_DNS_NAME}
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>

Now we can couchdb nodes names
root@dbef6f82ce5f:/# curl http://<IP_ADDRESS>:5984/_membership
{"all_nodes":["couchdb@couchdb-5"],"cluster_nodes":["couchdb@couchdb-5"]}
root@dbef6f82ce5f:/# curl http://<IP_ADDRESS>:5984/_membership
{"all_nodes":["couchdb@couchdb-1"],"cluster_nodes":["couchdb@couchdb-1"]}
root@dbef6f82ce5f:/# curl http://<IP_ADDRESS>:5984/_membership
{"all_nodes":["couchdb@couchdb-2"],"cluster_nodes":["couchdb@couchdb-2"]}
root@dbef6f82ce5f:/# curl http://<IP_ADDRESS>:5984/_membership
{"all_nodes":["couchdb@couchdb-3"],"cluster_nodes":["couchdb@couchdb-3"]}
root@dbef6f82ce5f:/# curl http://<IP_ADDRESS>:5984/_membership
{"all_nodes":["couchdb@couchdb-4"],"cluster_nodes":["couchdb@couchdb-4"]}

Now we can join cluster nodes into cluster using commands
curl -X PUT<EMAIL_ADDRESS>-d {}
curl -X PUT<EMAIL_ADDRESS>-d {}
curl -X PUT<EMAIL_ADDRESS>-d {}
curl -X PUT<EMAIL_ADDRESS>-d {}
curl -X PUT<EMAIL_ADDRESS>-d {}

Here I suggest extended command join syntax to use runtime containers IP address.
If couchdb node is restarted, then

node again resolve ${SEED_DNS_NAME} and gets current couchdb nodes IP addresses;
request /_node/_local/_system resource from each IP and gets couchdb node
name behind each IP
update own map of couchdb nodes and their IP addresses

Additional context
This feature may be used in docker swarm and kubernetes clouds.
In kubernetes need use statefulset + service like
# file contains database headless service
# creates kubernetes dns records for database daemons
# required for database nodes discovery
apiVersion: v1
kind: Service
metadata:
  name: db
spec:
  type: ClusterIP
  clusterIP: None
  publishNotReadyAddresses: true
  selector:
    app: db

Kubernetes service yaml file must contain publishNotReadyAddresses: true

Have you seen https://github.com/apache/couchdb/pull/1658 which landed for CouchDB 2.3.0?
There is an open ticket to implement this in the Docker image, but perhaps you can glue it together yourself with a helm file or similar...

Yes, i looked this.
This not applicable, because DNS nodes name is defined at run time and cannot be know at configuration time.
Also during execution time this DNS nodes names may be changed. That is means need to track this nodes name change.
Referenced PR is not provides this feature.

@sergey-safarov And using IP addresses and setting that configuration after the nodes come up isn't acceptable?
@kocolosk does any of what Sergey asks for above seem useful to you, or is the existing beta helm chart the best solution until CouchDB 4.0?

I cannot use IP in node names, because shards will be linked to nomes that contains IP addresses.
When couchdb container is restrarted, then container get new IP address and we lost one node from cluster.

That useful because used DNS nodes discovery mechanism and may be used in docker swarm installation, any other cloud provider where used dynamic ip.

As option
Command to join node into cluster may looks
curl -X PUT "http://localhost:5986/_nodes/couchdb@couchdb-1" -d '{"ipv4_address":"<IP_ADDRESS>"}'

Names is stable because name is generated from constant string and stable variable {{.Task.Slot}}.
But this names is not resolvable. That is reason why this feature request opened.
I suggest store host names and runtime IP mapping on each node. When some nodes restarted, then this nodes initiate host-IP mapping update on other host in cluster.
List of all nodes in cluster is resolvable via DNS name like
root@dbef6f82ce5f:/# nslookup tasks.couchdb
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>
Name:	tasks.couchdb
Address: <IP_ADDRESS>


Gesture Conflict

Describe the Bug
When using other components (compactslider, https://github.com/buh/CompactSlider) with multiple gesture effects within popupContent, I've noticed conflicts between the events of LNPopupUI and those of the other components. While using .popupInteractionStyle(.none) can resolve the issue, it disables the ability to close the view by dragging. I'm quite puzzled. Do you have any valuable suggestions? Thank you very much for your time.
To Reproduce
Steps to reproduce the behavior:
I have submitted a case swiftUI repo that you can run if you have time. This repo can reproduce my problem.
👉  https://github.com/jiangdi0924/LNPopupUIGestureConflic
Expected Behavior
resolve gesture conflict
Screenshots
none
Additional Context
none

Please update LNPopupController to 2.15.3 and try in your app. It seems to be much better now in a simple view with CompactSlider, but it should be tested in a more complex app.

So it works well now?

So it works well now?

Yeah, it worked  perfectly


Issues with additional users: invite not sent and recovery without action

Hi,
I've setup snapp and it's mostly working as expected, but I haven't been able to get additional users on the platform. E-mails are working though, when testing and recovery emails are received.
Here are my SMTP settings:
    SMTP_HOST: smtp.example.com
    SMTP_USER<EMAIL_ADDRESS>    SMTP_PASS: password
    SMTP_FROM<EMAIL_ADDRESS>    SMTP_PORT: 587
    SMTP_SSL: false

Inviting users doesn't send an email and throws this error in the log:

Listening on <IP_ADDRESS>:3000
ReferenceError: require is not defined
    at create (file:///app/build/server/chunks/15-DE8Ivn1e.js:98:24)
    at async handle_action_json_request (file:///app/build/server/index.js:2595:18)
    at async resolve2 (file:///app/build/server/index.js:5010:24)
    at async Object.handle (file:///app/build/server/chunks/hooks.server-C4-dAC0j.js:64:10)
    at async respond (file:///app/build/server/index.js:4902:22)
    at async Array.ssr (file:///app/build/handler.js:1262:3)

Recover password sends an email to the user that has no actionable button.

Minor UI issues:

Thanks!

i'll take a look into it. for icons try to hard refresh, it get them as a font, so if one works everyone should works 🤔
i'll upload <IP_ADDRESS> that would fix missing requie

i'll take a look into it. for icons try to hard refresh, it get them as a font, so if one works everyone should works 🤔

It happens only with the active selection, here's another one:

I've cleared the cache and there are no console issues here...

edit: also recover password should works, does your email client block suspicious link?

Ha, I've retried it and now appeared correctly! But the first time I got this one:

Also, I've just confirmed with new users, the recovery email arriving like the screenshot I've sent is an actual issue. I don't have any error though and email accounts are all in the same server (I.e. received correctly and incorrectly).

i think i have addressed all the issue, try <IP_ADDRESS>, it will take some time to build and upload :)

try now :)

Thanks! Regarding the emails, I haven't yet been able to receive one when a user is invited. As for password recover emails, I've tried a personal IMAP account (OK), a gmail account (two times and none arrived, not even in the spam folder), and an Outlook.com account (OK).
Regarding the icons are now working great!
Ps: here's an improvement suggestion using current empty space, displaying a truncated version of the original url next to the shortened one; I think it would help going through previous links.

you can actually activate the column for original url :)
i'll look into invite emails,
as for gmail require very strict rules, so i can't help you with that, i managed to make it work with mine, so i suppose the app itself work, but i miss knowledge to correctly debug that, i'm sorry.

Geesh...

Many thanks on that, I did not notice the button there at the bottom.
Gmail was just for testing, it's not a big deal for me. The invites on the other hand, would be great to have working.

have you tried configuring the smtp via config file / ui panel / env?

Settings in the docker compose and UI are the same, and I've modified passwords, etc while testing. But right now emails are being sent out; in particular test emails and correct/incorrect password recovery emails.

it is just invitation that still doesn't work

I will need to verify that tomorrow, but apparently yes.

Just confirmed that invites are being sent out, but without buttons:

Same with password recovery emails:

This particular user has yet to receive any email but these broken ones.
Is there a way just to set a password for the user?

In case it helps, here's the source for one of those emails:
<!doctype html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

								Reset your password?

Hi myusername

								If you didn't request a reset, don't worry. You can safely ignore this
								email.

								Change my password

									Need help? Just visit us to our
									platform.

Also, I found that (using outlook) if I use the "view in the browser" option, the user can actually get to click the link, which is a workaround for now:
:

would you mind try to set up a different smtp like resend to test the smtp?
the point being that on my outlook and gmail accounts i can see the text and the button,
i think it may depend also to the fact that the backend is in a http:// environment if get you configuration correctly, that alone could be a security concern as a link pointing to a non secure website (?).

Sure, I will try it as soon as possible!

Feel free to open a new one in case 🚀