Can we have a CodeAuditor box?

I'd like to have a Markdown box for CodeAuditor...eg:

::: codeauditor
[Code icon] SSW CodeAuditor enforces this rule - [link to CodeAuditor Rule]
:::

Code icon: https://fontawesome.com/icons/code?style=solid

When implemented, please add an example to https://www.ssw.com.au/rules/rule

Note: This is an improved solution for Adam's request number 9 on this thread: RE: Does SSW rules support code blocks
AB#60656

cc: @bradystroud @tiagov8 @JackLeerson
Hi Tiago,

I'd like to have a Markdown box for CodeAuditor...

Done -

Figure: CodeAuditor box in a rule

When implemented, please add an example to https://www.ssw.com.au/rules/rule

Done - see https://www.ssw.com.au/rules/rule
Thanks,
Taine


Add 'vendored' feature for openssl package to fix building in GitHub Actions

Issue
I have a project which uses hudsucker, I was trying to build it in GitHub actions for Apple M1 OS but was failing on openssl. It is mentioned in the openssl docs to use
https://docs.rs/openssl/latest/openssl/#vendored
openssl = { version = "0.10", features = ["vendored"] }

as the dependency. I add "vendored" features and that fixed the issue.

If you want openssl to be vendored, I would recommend adding it as a direct dependency of your project with the same version constraint as hudsucker and enabling the vendored feature.
https://doc.rust-lang.org/cargo/reference/features.html#feature-unification

It worked thanks


Constant name "epoch" doesn't conform to UPPER_CASE naming style

https://github.com/lbonanomi/scripts/blob/d4369094fb277f5c08521500b3186b83b4c530b9/active_directory_last_password_reset.py#L34

Issues for naming style are now ignored.


adjusted the cli 2nd param

Following the github update of August 13, passwords are no longer accepted for CLI operations. It is now required to use personal access token as show with my changes above.
Tested with my account and it works.

cool


Examples

Good morning, it is the first time I will use Otto and I wonder if you could give an example of that class should be created and where it should place the functions, which will be @Subscribes.
I understand the operation, but I can not understand where they are to be the functions that are activated by the certain event, which want to capture to make a sincrinización between threads.
Thank you and I hope your help.
PS: if I do not explained well, ask and I write otherwise

@seransaca This might help.


Pre-trained models not openly accessible

The pretrained models are hosted on AWS, for which we require an AWS key to access. Is there an alternative way to access the models for which I would not require a key?

Hi @dido1998, thanks for your interest. The models are publicly accessible, you should only need a free AWS account to use the s3cmd functionality. You can also download the models directly over HTTP from a browser (like this), however using s3cmd would be easier since it would allow for viewing the directory structure.

Hi @rohitgirdhar, thank you for the clarification, this is really helpful :-)
Another question I had was that I trained a transformer based forward model using the following command:
./launch.py -l -c expts/fwd_models/001_fwd_TX_win.txt

I find that after training (for 200000 steps), the l2 loss does not decrease at all, is this normal? I also found the same for the joint model (https://github.com/facebookresearch/phyre-fwd/blob/master/agents/expts/joint/004_joint_TX_win.txt), where ce loss stays consistent at ~0.6.
I have uploaded logs for the above command here: https://drive.google.com/file/d/1IU4wN_3Fl7yjPsTuX1keJmHQSUyuCHXs/view?usp=sharing if that's helpful.
Thanks! :-)

Hi @dido1998
Apologies for the delay in responding. That sounds odd, the L2 loss should decrease. We have also shared all the training logs that you can refer to for further debugging. For instance, for the fold 0 you can find the tensorboard log at the following link, where I notice the loss does go down.
https://dl.fbaipublicfiles.com/phyre-fwd-agents/fwd_models/001_fwd_TX_win.txt/0/logs/events.out.tfevents.1590220334.learnfair0721.31967.0
You can use commands like s3cmd ls s3://dl.fbaipublicfiles.com/phyre-fwd-agents/fwd_models/001_fwd_TX_win.txt/0/logs/ to check for paths to logs for other experiments.

Hi @rohitgirdhar, Thanks for sharing the logs! This is really helpful.  Here is the tensorboard log I got: https://drive.google.com/file/d/1hSYd39sEPF9FqAtQBbGA_cN_RT5iI59A/view?usp=sharing.
I just want to confirm that for the above log that you shared, you ran the following command and selected fold 0 when prompted right?
./launch.py -l -c expts/fwd_models/001_fwd_TX_win.txt

We actually run it on a full node with 8 GPUs. The -l option is to run it locally (for debugging) and overrides the config options here with a batch size of 2. Maybe that is the issue? Try commenting out those lines and running, it should use 8 GPUs and a larger batch size and hopefully show a learning curve closer to our logs.

Hi Rohit, what memory are each of your GPUs? I'm trying to run the Tx experiments (which are naturally quite large) and running out of CUDA memory fairly quickly on a single fold even with half your batch size.

Hi @ishaanchandratreya apologies for the delay in responding. I'm not exactly sure for that model, but most experiments were done on 16GB V100 GPUs, so that should fit those models. The log files for the specific experiment you are looking at might have more details too.

Hi @rohitgirdhar Thanks for the info. I am additionally also having trouble setting up the s3cmd functionality as it tells me that s3:listAllBuckets has not been configured for my user. When I attempt to view your bucket on AWS console as a public bucket it reminds me the same thing about permissions/actions. I am however able to download files using HTTP over a browser. Could you clarify instructions for s3cmd setup/permissions for access to fbaipublicfiles or provide the full directory structure of what has been uploaded to the phyre-fwd-agents bucket on AWS so that I can simply download using HTTP.  Thanks a lot in advance.

Just following up on this- I tried accessing s3cmd buckets with an alternate configuration and I keep getting access denied. Can you please send me s3cmd instructions for listAllBuckets facilitity on the public bucket or alternatively give the directory structure. Under my current config, the instructions under agents/Readme do not work for me as I either get an SSL certificate issue or I get access denied.

@ishaanchandratreya, you're saying that you don't have listAllBuckets permission on the s3 bucket correct?

Yes. I get Permission Denied with both ls and rsync commands, so I believe it would be more than listAllBuckets permission which is missing.

Same here. I tried this link in my browser and still get access denied. @ishaanchandratreya could you help with this?

Hi @jeasinema, that link is not supposed to be accessible from the browser, only individual model/logs links are. Does this link to some logs work for you?
You can refer to https://github.com/facebookresearch/phyre-fwd/tree/main/agents#downloading-pre-trained-models for instructions on downloading the models.

@rohitgirdhar Thanks for the reply. Yes, the link with logs works for me. However, when I try this and run the following command
s3cmd sync --skip-existing s3://dl.fbaipublicfiles.com/phyre-fwd-agents/joint/001_joint_DEC_1f_win.txt/20/ outputs/expts/joint/001_joint_DEC_1f_win.txt/20/

I always got this error
ERROR: S3 error: 403 (AccessDenied): Access Denied

I tried to list all the files under that directory
s3cmd ls s3://dl.fbaipublicfiles.com/phyre-fwd-agents/joint/001_joint_DEC_1f_win.txt/20/

and got the same error again.
I can confirm my s3tools has been configured correctly as I can list all the files in my own s3 bucket. Could you help shed some light on this? Thanks.


Open Folder does not open file dialog on GNU/Linux.

Lapce Version
I am using the latest nightly which is commit 16e0775
System information
Arch: x86_64
OS: archlinux (GNU/Linux)
Describe the bug
When i click the Open Folder button, it does not open a file dialog.
Additional information
I am pretty sure its a regression, i am currently now using the version just before this commit as a workaround: 70cee3b

Duplicate of #3102


sfdx-cli Not working for Fork Public PR

Facing an issue in SFDX CLI on Github Action
Background issue detail
So I have a public repo, I am adding a CI process for the new fork or New User's PR.
I want every PR should first validate no matter if I raise PR or New User raise PR - this works fine
Next, i want only Delta changes should validate, so I used sgd in Action - this works fine if i raise PR. this is failing for other Github User raise PR.
At the moment I am testing for Other Github User, only modifying Apex class so sgd can check and validate only that particular class , so here is the commit on class. this should validate. But unfortunately, this does not work for outside Github Users.

Hello @Sarveshgithub, iI want to make sure I understand the issue:

When you open a PR on sfdc-lwc-lightning-datatable, the GHA action that uses sgd:source:delta works as expected
However, when someone forks sfdc-lwc-lightning-datatable and opens a PR on that fork, the GHA action that uses sgd:source:delta fails?

Is that correct? What error message do they receive?


Latest scrape time and success/fail status

Would be great to get an indication of the scrape time and whether or not it succeeded, also the total number of sites.
Also the time of the latest government addition.
Love it btw

Yes, this is my plan after work today. I'd like to make it scrape every 10 minutes and update a timestamp in the footer.

Added frequent scheduled action, but github seems to run it roughly hourly.


Help tooltips should always be opened in the foreground

STR:

open the color picker
hover over the background color placeholder

Actual:

The black tooltip that contains a help string appears behind the color picker
Expected:
It should appear at the top, always visible.
Related: I don't think the title attribute tooltip (the one that contains the current color name) should appear. Or if it needs too, it should be somewhere else.

Depending on where you place your mouse over the color placeholder, the 2 tooltips might intersect.


Import cycle error - episode 4

Hi,
I implemented my own version of the websocket chat based on the example in episode 4 (thanks for the brilliant videos BTW..), but I moved my connection and hub in separate packages as it's part of a bigger project. Basically, I ran into an import cycle problem where connection depend on hub and vice versa.
As a quick fix I have changed the hub implementation to rather have a map of *net.Conn keys instead of the concrete *connection.
Firstly,  is this is the correct way of solving it ? Should hub expect interfaces or should connection rather have an interface instead of concrete hub? Or both?
Secondly, maybe this type of scenario can serve as an idea for an "Avoid import cycle error" screencast?
Pieter

@pieterlouw thanks - I've labelled this issue to remind to do a screencast on the topic. If you have any additional examples of import cycles, I'd like to include them as examples in the screencast.


[C#] Godot occasionally ignores changes made to source code unless dll files are deleted manually

Godot version:
master / 2ff31bada
OS/device including version:
Manjaro Linux 17.1
Issue description:
If I recall correctly, Godot used to detect source code changes from an external editor (which is almost mandatory for C#), so I can just hit play to see the result.
But recently, it occasionally ignores changes to the source code unless I manually delete the .dll assembly for my project under .mono/temp directory.
And the problem seems to occur more frequently if I create the assembly outside of Godot (in Debug profile, if it's relevant), even though it can be reproduced without it sometimes.

I just discussed it with other people who use C# on Discord, and at least one person say he can't reproduce the issue.
I think I prematurely assumed that it was Godot that has been changed recently. I'll close the issue for now and will reopen it if I find any more specific information that confirms it's indeed an issue.

This sounds unlikely since right now, builds are ran everytime the game is execute. Maybe the problem was something different?

Yes, I still see this problem from time to time but it happens pretty rarely. I haven't been able to find the real cause, and it's quite possible that something other than Godot is at fault.
I'll reopen the issue in case if I find new information as I mentioned above. Thanks!

Upon more testing, the problem still persists and seems to have something to do with .dll assembly remaining stale even after the build.
I updated the title and description to reflect the new information, and see if I can gather more to track down the cause.


Trigger SessionSavePre autocmd before mksession

This is useful for other plugins that want to run something before the session gets saved. Here's an example of such a feature.

Thanks for your PR. Is this some kind of standard to use SessionSavePre autocommand? Or do different plugins use different names? Because maybe it's better to leave that up to the users? Currently user could just set custom hooks.before_save:
require('possession').setup {
    hooks = {
        before_save = function(session_name)
            vim.api.nvim_exec_autocmds('User', { pattern = 'SessionSavePre' })
            return {}
        end
    }
}

I know that there is the benefit of having automatic integration, but if that's not some standard autocmd then we would have to keep adding different autocmds for each plugin.
Also, if we support SessionSavePre then we should probably also support SessionSavePost and SessionLoadPre (SessionLoadPost is an actual vim autocmd so this is run automatically), which looks like doubling the already existing hooks setting.
On the other hand maybe there could add a dedicated plugin in possession/plugins for barbar.nvim? I'm not sure how barbar.nvim restores the buffer order, but it could make use of storing some information in the possession session file?
What do you think? I'm just curious about if User.SessionSavePre is used in more plugins.

On second thought it shouldn't really be problematic to maintain, so if you think this will helpful then I'll just merge this. I'll just have to document it later.

I added documentation to possession.txt, thanks for contribution.

Thanks for merging!


Add Device Tracker Support

Issue #, if available:
#74
Description of changes:
This PR adds Tracker support, as its added to PennyLane in the upcoming v0.17.0 .
Testing done:
The pl-device-test plugin tests from PennyLane core check "standard" Tracker usage.  As hopefully the bracket plugin will provide more information, we may need to provide additional tests.
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[x ] I have read the CONTRIBUTING doc
[x ] I used the commit message format described in CONTRIBUTING
[x ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[ x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ x] I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for opening this PR. This is a feature we want, and we will be back shortly with metadata from Braket that we want to support.

We will prepare a separate PR with metadata for Braket. Before we can merge this, could you remove the lines for task metadata and add unit tests for the new feature?

@shpface  These tests acceptable?


Implement numPassingAsserts of testCaseResult

Summary

implement numPassingAsserts to track the number of passing asserts in a single test
refactor the implementation of numPassingAsserts in testResult object
make numPassingAsserts actual value available in custom reporter

Test plan
ci green

Thank you for your feedback. I will definitely add unit or e2e test to verify the correctness of the numPassingAsserts count for both passing and failing assertions. I will make sure to update the pull request with the new test cases and let you know once it's ready for review.

thanks! can you add a unit or e2e test as well verifying the count is correct for both passing and failing assertions?

@SimenB Added unit and e2e tests for numPassingAsserts count. Please let me know if there is anything else I can do to improve the implementation.

How does this work with jest.retryTimes? I assume it'd be confused. Not sure how to deal with it either, so...

How does this work with jest.retryTimes? I assume it'd be confused. Not sure how to deal with it either, so...

numPassingAsserts variable is associated with the test case result returned after each test execution. When jest.retryTimes is used and a test fails, Jest will retry the test the specified number of times before marking it as a failure. In this case, numPassingAsserts will only store the number of passing assertions from the last test execution, as the variable is reset after each test execution, regardless of whether it passed or failed.

I'm not sure why the Circle CI details link is pointing to my own Circle address.

Tried to run my own project branch (ymqy:feature/numPassingAsserts) in Circle CI(Avoid pushing too many commit records), not sure why it affects the current PR's CI check, Submitted a request to the Circle support team to resolve this issue

https://github.com/facebook/jest/releases/tag/v29.4.1

@SimenB This is my second pr submitted for react. I spent a lot of time on this, and all the ci tests have passed. However, no one seems to pay attention to it, and I haven't received any feedback. I'm confused. Do you know what the reason might be? https://github.com/facebook/react/pull/26041

I don't work at Meta or help maintain React, so I'm not much help outside of Jest itself.

I don't work at Meta or help maintain React, so I'm not much help outside of Jest itself.

thanks


Filter results are not sorted by relevance

What I'm trying to achieve
This affects the parts of the dashboard that use the AutoComplete component. When adding menu items or creating products for example, the category/collection filter results are not sorted by how well they match they query.
If I have a category called "Whiskeys" and it has subcategories such as "Black whiskeys" and "Blue whiskeys", typing "whiskeys" brings up the children first. And since the list doesn't scroll, if there are enough children, it becomes impossible to select "Whiskeys".
Steps to reproduce the problem

Create categories like in the screenshot below, as children of a "Whiskeys" category
Try to add "Whiskeys" as a menu item

What I expected to happen
The filter results should be scrollable and should be sorted by relevance to my search.
Screenshots

System information
Operating system: Windows 10 x64
Browser: Firefox 68

Dusting off old issues on this repository 🧹
I can confirm this problem doesn't exist any more. Thank you for reporting!


Fix warning in dbwrapper test

While buf isn't going to overflow with the values written to it, the compiler can't prove that, because the integers used for the contents of the buffer could possibly be too large.
Fortunately, these integers only need a couple of bits.
uint8_t would be enough but it might be better to be more consistent with other types in this function.

For info, the warning on 763848c (tip of 1.14.7-dev as of writing):
test/dbwrapper_tests.cpp: In member function ‘void dbwrapper_tests::iterator_string_ordering::test_method()’:
test/dbwrapper_tests.cpp:301:31: warning: ‘%d’ directive writing between 1 and 11 bytes into a region of size 10 [-Wformat-overflow=]
  301 |                 sprintf(buf, "%d", x);
      |                               ^~
test/dbwrapper_tests.cpp:301:30: note: directive argument in the range [-2147483648, 14]
  301 |                 sprintf(buf, "%d", x);
      |                              ^~~~


fix: Handle dynamic shapes in where ops

Description
Dynamic shape cannot be used in where ops because of exception in torch.broadcast_shapes().
Proposed fix removes expand() for static shape input and only performs prepend ones to have same rank size for static/dynamic shape input. I think broadcast is not required as it is applied to ISelectLayer(addSelect)
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[ ] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

Looks good to me!

Moved "chore: Better random bool values for example_tensor" change into PR2878 to combine random input changes to one PR.
https://github.com/pytorch/TensorRT/pull/2878/commits/436e99b9c1c341dd0eba9c47a0fbad68119a66dc


[Bug] Unable to submit RTC_GAMMA on demand jobs for single-polarization GRDH products

HyP3 can process RTC_GAMMA jobs for both single-polarization and dual-polarization GRDH scenes, but Vertex does not allow such jobs to be submitted for single-pol scenes.
For example, scene S1A_IW_GRDH_1SSV_20240914T083404_20240914T083438_055658_06CBC6_6165 can be processed via the HyP3 API or SDK, example job at https://hyp3-api.asf.alaska.edu/jobs/bd00b88e-1dbe-4326-8b75-492c2ab24c12
But the "submit to HyP3" button doesn't appear for this granule (or any GRD_HS products) in Vertex:
https://search.asf.alaska.edu/#/?zoom=4.551&center=151.392,-34.900&searchType=List Search&maxResults=250&searchList=S1A_IW_GRDH_1SSV_20240914T083404_20240914T083438_055658_06CBC6_6165&resultsLoaded=true&granule=S1A_IW_GRDH_1SSV_20240914T083404_20240914T083438_055658_06CBC6_6165-GRD_HS

I suspect this could be corrected by adding GRD_HS to the list of valid product types for RTC_GAMMA jobs at https://github.com/asfadmin/Discovery-SearchUI/blob/test/src/app/models/hyp3-jobs.model.ts#L15

Fixed with the latest release


Add the next context to the exit trigger.

It's better if we can set the next context to the trigger as well. But, we need to do it in a backward compatible way. If user ask for just context and the redirect give it.
var exitTrigger = function(context, redirect) {

};

If asked for the new context, give it as well.
var exitTrigger = function(context, nextContext, redirect) {

};

In the next context we don't have route and oldRoute properties. May be we can move them as _ and make them private.

This involves too much of work. PageJS does not have APIs to support this. We may need to hack it  a lot or re-write a routing backend.
Which is not worthy at this point.


[QUESTION] New UI vs classic, Data update?

Any chance to restore the previous UI?  The new themes are really bad, with drop shadows, poor color selection and contrast ratios. its not as bad with 'classic' theme.
Circles around each day adds unnecessary visual noise. The addition of the sliding panel, just adds extra steps to viewing notes.
are the data models still compatible to the old version?, I'd roll back....

Sorry to hear that you do not like the new design.
There is no way to use the old design in the newest version of the module.
You can install an older version of Simple Calendar to get the old design back but I will not be updating them and it may not be compatible with newer versions of foundry so that may be a risk in using it. The oldest version that contains the UI you seem to like would be 1.3.75 You can download the zip file and manually install it.


Chivalry Medieval Warfare: validation error spam at main menu

Software information
Game falls back to dx9 mode by default, but can be forced by specifying -d3d11 on the command line. Don't know if this is a bug in dxvk, an issue elsewhere in Wine, or simply default behavior on Windows 7.
While at the main menu, the console floods with:
DS(ERROR): object: 0x0 type: 0 location: 7402 msgCode: 155191012: vkCreateFramebuffer(): VkFramebufferCreateInfo attachment #1 mip level 0 has dimensions smaller than the corresponding framebuffer dimensions. Here are the respective dimensions for attachment #1, framebuffer:
width: 1285, 1288
height: 723, 728
layerCount: 1, 1
The spec valid usage text states 'Each element of pAttachments must have dimensions at least as large as the corresponding framebuffer dimension' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkFramebufferCreateInfo-pAttachments-00882)

This flood continues into gameplay. Performance is extremely poor (6-12fps), likely as a result. Graphics look correct from a passing glance.
System information

GPU: Radeon RX 480
Driver: Mesa 17.3.2
Wine version: 2.21-staging
DXVK version: git 3dea58d

Apitrace file(s)
Under wined3d, loading to menu and immediately exiting.
https://roothorick.mooo.com/CMW.trace
Log files
CMW_d3d11.log
CMW_dxgi.log

Should be fixed as of Version 0.50.


SUP-4970 - Updates one of the examples to upload the tamr config to s3

https://datatamr.atlassian.net/browse/SUP-4970
Tamr config on s3:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


docker swarm some times register eth0 other eth1

/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:0A:00:07:97
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:835 errors:0 dropped:0 overruns:0 frame:0
          TX packets:817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:473052 (461.9 KiB)  TX bytes:97115 (94.8 KiB)

eth1      Link encap:Ethernet  HWaddr 02:42:0A:FF:06:F7
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:67 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9171 (8.9 KiB)  TX bytes:23480 (22.9 KiB)

eth2      Link encap:Ethernet  HWaddr 02:42:AC:12:00:04
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

fabio output:
 [INFO] consul: Registered fabio as "fabio"
 [INFO] consul: Registered fabio with id "fabio-ba36cab4e60d-9998"
 [INFO] consul: Registered fabio with address "<IP_ADDRESS>"
 [INFO] consul: Registered fabio with tags ""

consul check
Service 'fabio' check
Output
Get http://[<IP_ADDRESS>]:9998/health: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

I'm gonna use the eth0 network. What am I supposed to do?

You can set the registry.consul.register.addr explicitly.
# registry.consul.register.addr configures the address for the service registration.
#
# Fabio registers itself in consul with this host:port address.
# It must point to the UI/API endpoint configured by ui.addr and defaults to its
# value.
#
# The default is
#
# registry.consul.register.addr = :9998

We could possibly introduce go-sockaddr parsing of the addresses to make that a bit more dynamic.
https://github.com/hashicorp/go-sockaddr

@leprechau  Before the container starts, I don't know about Ip.

Or like consul -advertise={{ GetInterfaceIP "eth0" }}

@viest that's what consul, nomad and other HashiCorp products use ... that's the go-sockaddr project.

Yes, I'm looking forward to joining this feature.

Would you be open to submitting a PR to handle go-sockaddr parsing of the various places ip:port strings are interpreted?

Clusters rely on this feature

I created #653 to address this issue.

It's so cool.
@magiconair  @pschultz  please merge master, thanks.

@viest we're just waiting on a review.

I need this new feature so much, in my cluster.

I need this new feature so much, in my cluster.
But I think the main line was the latest merger 7 days ago.


☂ Drop support for Shoots with Kubernetes version <= 1.26

How to categorize this issue?

/kind cleanup
What would you like to be added:
Let's drop support for Kubernetes versions <= 1.26 in October 2024. At the time of writing this issue, support for K8s 1.26 ended 5 months and 2 weeks ago. See https://endoflife.date/kubernetes.
Gardener:

[ ]  https://github.com/gardener/gardener: https://github.com/gardener/gardener/pull/10664

UnhealthyPodEvictionPolicy in the PDB spec for components can be unconditionally set to AlwaysAllow
EnableStaticTokenKubeconfig in the Shoot spec can deprecated and the maintenance reconciler can be adapted
PodEvictionTimeout in the Shoot spec can be removed in a future version
corev1.AnnotationTopologyMode constant can be used unconditionally
Remove validation related to seccompDefault
Adapt validation and doc string related to encryption config.
Adapt kubelet config (ProtectKernelDefaults etc.)
Adapt featuregates which are added or removed in <=1.26, https://github.com/gardener/gardener/blob/6b24aa7733130b20ab8b1c5778577664992ddfcb/pkg/utils/validation/features/featuregates.go#L34
Adapt admissionplugins which are added or removed in <= 1.26, https://github.com/gardener/gardener/blob/e68789246869f2fbc89fe42675fbb00508f110e4/pkg/utils/validation/admissionplugins/admissionplugins.go#L46
Adapt apigroups which are added or removed in <=1.26, https://github.com/gardener/gardener/blob/5b76b2ed9066f69b8b71d9c150914d812a65879c/pkg/utils/validation/apigroups/apigroups.go#L30
Adapt KCM controllers which are added or removed in <= 1.26, https://github.com/gardener/gardener/blob/5b76b2ed9066f69b8b71d9c150914d812a65879c/pkg/utils/kubernetes/controllers.go#L20
Adapt container images

[ ] Drop GRM TokenInvalidator controller. In 1.27 LegacyServiceAccountTokenNoAutoGeneration becomes LockToDefault: true ref.

[ ] Disable PodTopologySpreadConstraints webhook for seeds and use spec.topologySpreadConstraints[*].matchLabelKeys in deployments: ref

Extensions:

[ ] provider-aws: https://github.com/gardener/gardener-extension-provider-aws/pull/1093
Test Infra:
[ ]  https://github.com/gardener/test-infra:

K8s test infra:

[ ] https://github.com/kubernetes/test-infra:

Why is this needed:
Drop support for quite old K8s versions.

/assign

We still require support for kubernetes version 1.26.  We have a product that is working to become compatible with version 1.27, but it's still a work in progress.

@aabond You are quite late to the party. The PR https://github.com/gardener/gardener/pull/10664 was almost merged already. What is your expectation about how long you need these old versions still to be supported?

Hi @rfranzke ,
Based on conversations with the team that is unable to upgrade to 1.27, it sounds like it'll be a few more months before they can resolve their hard dependency on static kubeconfigs.


Bug in GC

Sometimes GC deletes layers which are still needed.
Originally I faced with this problem when played on EC2 with large data size and pageserver is crashed because of disk space exhaustion.
My first idea was that it is caused by garbage collecting layers beyond disk consistent LSN:
https://github.com/zenithdb/zenith/pull/1004
But I failed to create test for it because deleted layers are restored by replaying WAL from safekeeper:
https://github.com/zenithdb/zenith/pull/1043
Configuration I have used on EC2 has not safekeepers.
But recently I was able to reproduce this problems locally without any restarts.
Just run read-only pgbench with scale 100 and 10 client  for a long time (1000 sec).
I got this errors:
pgbench: error: client 4 script 0 aborted in command 1 query 0: ERROR:  could not read block 13685 in rel 1663/13010/16404.0 from page server at lsn 1/ACE40AA8
DETAIL:  page server returned error: tried to request a page version that was garbage collected. requested at 1/ACE40AA8 gc cutoff 1/ACE4C878
progress: 770.0 s, 788.3 tps, lat 12.500 ms stddev 52.382
progress: 780.0 s, 730.6 tps, lat 12.206 ms stddev 32.596
pgbench: error: client 6 script 0 aborted in command 1 query 0: ERROR:  could not read block 134612 in rel 1663/13010/16396.0 from page server at lsn 1/B1CC5D48
DETAIL:  page server returned error: tried to request a page version that was garbage collected. requested at 1/B1CC5D48 gc cutoff 1/B1CCFB40

So something else is wrong in GC logic.

It may be not a problem at all: just current GC horizon (64Mb) is too small.
But I wonder if we need some more reliable mechanism for it.
Assume that some backend request some page from pageserver. Then vacuum or some other massive update transaction is activated and produce a lot of WAL. Amount of this WAL may be arbitrary large and when get_page_at_lsn request arrives at pageserver, this LSN is already behind GC horizon. So it is not clear which value of GC horizon can be considered as "safe".

There is one unfixed issue in gc that needs to be checked https://github.com/zenithdb/zenith/issues/707 There are some problems with reproduction so if you have some script that triggers the issue this would help too.
Also how many branches are involved in your test? Just one or more?

In my opinion GC shouldn't remove needed layers in any case. Even with GC horizon 0

In my opinion GC shouldn't remove needed layers in any case. Even with GC horizon 0

Sorry, but it it is not possible. Even vanilla Postgres can report "snapshot too old" error.
And in our case lagged replica may request LSN which is too old (out of PITR interval).
The question is which value of GC horizon can be considered as "safe" for any workload.

We chatted about this with @SomeoneToIgnore. My theory on this:
I think it's a race condition between handle_get_page_at_lsn_request and garbage collection. handle_get_page_at_lsn_request first checks what the latest record LSN is, by calling wait_or_get_last_lsn. Then it passes that LSN as argument to get_page_at_lsn. But it's possible that between those calls, more WAL is processed, advancing the latest record LSN, and garbage collection runs, advancing latest_gc_cutoff_lsn past the LSN that we calculated.
Would be good to have a reproducible test case for it first. For the fix, I think we need some mechanism to prevent GC from choosing a cutoff LSN value that is still being used in concurrent requests. With a lock of some sort I presume, although handle_get_page_at_lsn_request is a hot codepath, so we don't want to add much overhead to it with extra locking.

I wonder if this check is valid at all:
        ensure!(
            lsn >= latest_gc_cutoff_lsn,
            "tried to request a page version that was garbage collected. requested at {} gc cutoff {}",
            lsn, latest_gc_cutoff_lsn
        );

If page is not updated then it can have arbitrary small LSN.
And gc_cutoff is just last_lsn - gc_period.
So I think that this incorrect check should be removed.
Then race condition between handle_get_page_at_lsn_request and garbage collection is not so obvious.
Yes, user can request page which was already garbage collected.
We should remove error in this case.
I expect that layers lock should prevent race condition here: we either will not find required layer (because it was deleted by GC),
either was able to extract page from this layer.
My patch ( #1128) address slightly different problem: when layers saved to the disk, but metadata files (and disk_consistent_lsn) are not yet updated. In this case GC can locate new image layer and remove old layers, but
if pageserver is restarted, ti removed all layers beyond  disk consistent LSN, and so some piece of table is disappeared.

In summary, that check is correct. But we should have some kind of locking or something to prevent GC from choosing a cutoff that's newer than any "in-flight" GetPage requests. Perhaps add a barrier or something that allows GC to wait for any in-flight GetPage requests to be processed, before it advances latest_gc_cutoff_lsn.

In summary, that check is correct. But we should have some kind of locking or something to prevent GC from choosing a cutoff that's newer than any "in-flight" GetPage requests. Perhaps add a barrier or something that allows GC to wait for any in-flight GetPage requests to be processed, before it advances latest_gc_cutoff_lsn.

I have stepped on the same rakes:(
Once I already understand why we can perform comparison with cutoff_lsn here, but then forgot.
But... If we think a little bit more about it...
Compute node is requesting last evicted LSN, or more precisely: largest LSN written to the disk. Assume that we produce a lot of WAL by updating small number of pages. So none of them is evicted. In this case last evicted LSN may be far in the past, may not it? In this case this check is still incorrect.

Compute node is requesting last evicted LSN, or more precisely: largest LSN written to the disk. Assume that we produce a lot of WAL by updating small number of pages. So none of them is evicted. In this case last evicted LSN may be far in the past, may not it? In this case this check is still incorrect.

To be precise, the compute node always requests the latest LSN, but with a hint of what the last evicted LSN was.

So yes, the last evicted LSN can be very old. And that's OK. That's not what's passed to get_page_at_lsn.

O, now I inspected code of wait_or_get_last_lsn and understand why this check is correct.

I was able to reproduce this readily with this recipe:

Apply this patch to add some delay to some GetPage requests:

diff --git a/pageserver/src/page_service.rs b/pageserver/src/page_service.rs
index 70ba7ec9..6b381734 100644
--- a/pageserver/src/page_service.rs
+++ b/pageserver/src/page_service.rs
@@ -484,6 +484,13 @@ impl PageServerHandler {
         let tag = RelishTag::Relation(req.rel);
         let lsn = Self::wait_or_get_last_lsn(timeline, req.lsn, req.latest)?;

+        // Add a 1s delay to some requests. The delayed causes the requests to
+        // hit the race condition from github issue #1047 more easily.
+        use rand::Rng;
+        if rand::thread_rng().gen::<u8>() < 5 {
+            std::thread::sleep(std::time::Duration::from_millis(1000));
+        }
+
         let page = timeline.get_page_at_lsn(tag, req.blkno, lsn)?;

         Ok(PagestreamBeMessage::GetPage(PagestreamGetPageResponse {

Run pgbench with

PGPORT=55432 PGUSER=zenith_admin pgbench -N -c10 -P1 -T120 postgres

At the same time with pgbench, in another terminal, force aggressive GC with:

/usr/bin/watch --interval=0 'psql postgres -p 64000 -h localhost -c "do_gc 308ddc0cd47c5e4c4a05744ddd180e1c 8905f92b2ee393ca9d29bf80d1788d1b 0"'

Still not able to reproduce it.
Did you mean the following patch:
diff --git a/pageserver/src/layered_repository.rs b/pageserver/src/layered_repository.rs
index 71a34d01..fa49c07e 100644
--- a/pageserver/src/layered_repository.rs
+++ b/pageserver/src/layered_repository.rs
@@ -1672,6 +1672,7 @@ impl LayeredTimeline {
     pub fn gc_timeline(&self, retain_lsns: Vec<Lsn>, cutoff: Lsn) -> Result<GcResult> {
         let now = Instant::now();
         let mut result: GcResult = Default::default();
+        let _checkpoint_cs = self.checkpoint_cs.lock().unwrap();

         let _enter = info_span!("garbage collection", timeline = %self.timelineid, tenant = %self.tenantid, cutoff = %cutoff).entered();

Still not able to reproduce it. Did you mean the following patch:

No, I meant what I posted.
I created a more complete python script to reproduce this at: https://github.com/zenithdb/zenith/tree/repro-issue-1047. I haven't been able to reproduce it without the patch I posted that adds a delay to some GetPage requests, the race condition is too tight. That patch is included in that branch, so if you run the test_gc_aggressive.py script that it adds, it fails.

Still not able to reproduce it. Did you mean the following patch:

No, I meant what I posted.
I created a more complete python script to reproduce this at: https://github.com/zenithdb/zenith/tree/repro-issue-1047. I haven't been able to reproduce it without the patch I posted that adds a delay to some GetPage requests, the race condition is too tight. That patch is included in that branch, so if you run the test_gc_aggressive.py script that it adds, it fails.

Sorry, there is definitely race condition between GC and checkpointer and without holding checkpoint_cs in GC I almost always get errors during test_write_amplification test. I have not proposed this fix as PR because I am still not sure if mutual exclusion of GC and checkpoint is the best solution (both can take arbitrary long time and both can have critical impact on performance and resource consumption).
With locking this mutex in checkpointer I was not able to reproduce the problem even with 0 GC horizon.
With your patch with random delay between wait_for_lsn and get_page_at_lsn I got
page server returned error: tried to request a page version that was garbage collected.

error. But it seems to be expected in this case.

After thinking for a while about this problem, I realized, that it is not related with GC at all.
May be I missed something, but there seems to be the problem with layer_map:
Checkpointer creates image layer at inmem_layer.end_lsn. This layer contains pages which LSN may be less then end_lsn. But start_lsn of this layer is set to be equal to  inmem_layer.end_lsn. And this layer is registered in layer map with [start_lsn,start_lsn+1) interval. So any attempt to locate layer with smaller LSN will fail.
Assume that we have no GC at all. But we have aggressive checkpointer which very frequently creates new image layers.
But if get_page_at_lsn has deteriorated LSN, then we have to reconstruct page even through image of this page already reconstructed and stored in image layer.
So I see two directions of addressing this problem:

Postpone calculation of latest_lsn. Don't do it in wait_for_lsn, but in get_page_at_lsn. It may require changing get_layer_for_read(seg,lsn), for example replacing it with get_latest_layer_for_read(seg).
Change interval of image_layer from [end_lsn,end_lsn+1) to [start_lsn,end_lsn+1). I am not sure what else has to be changed, how this layer will interfere with intersected delta layers,...

Before starting work in any of this direction, I want to get some confirmation from you. Do you have some other opinion about  the source of the problem and ways of its fixing?

With locking this mutex in checkpointer I was not able to reproduce the problem even with 0 GC horizon.
With your patch with random delay between wait_for_lsn and get_page_at_lsn I got
page server returned error: tried to request a page version that was garbage collected.

error. But it seems to be expected in this case.

Yeah, acquiring checkpoint_cs in GC only helps with this case happening from a checkpoint.
I think the simplest full fix would be to add yet another lock, for reads. The idea is that whenever you start a read operation at a particular LSN, you grab a new read_lock first. So handle_get_page_at_lsn_request() would do this:

Acquire read_lock in Share mode
Call wait_or_get_last_lsn() to get the current last record LSN
Call get_page_at_lsn() with that LSN
Release read_lock

Similarly, evict_layer() would first grab read_lock, then read last record LSN to perform the eviction and write the image layer at that LSN, and release read_lock.
GC would:

Read last record LSN
Acquire read_lock in Exclusive mode
Advance latest_gc_cutoff_lsn
Release read_lock
Perform GC

This way, GC cannot advance latest_gc_cutoff_lsn past an LSN that's still used by concurrent reads.
This adds some overhead to reads, as they need to acquire that lock. And when GC starts, incoming reads will need to wait for the in-progress reads to finish and for GC to grab the lock in exclusive mode. That couldt be pretty bad with checkpointer, as evict_layer creating the image layers can take a long time.
If we want to reduce that overhead, each page service handler thread could have their own read_lock, and GC would acquire each one separately. Or something like that. The point is for the GC to wait for any in-progress read operations to finish, before advancing latest_gc_cutoff_lsn.

Sorry, that I have been late with my comment (this morning I have three times changed my opinion about it: from not a problem at all, then fundamental bug in SMGR and to not related with GC:)
So why compute node may request not the latest LSN which page server have?

Read-only replica. Yes, it may be acceptable to return "version is already collected by GC" in this case if specified LSN is ut of PiTR interval. But is is good that we have to reconstruct page if there is existed image layer in this page.
Gap between wait_for_lsn and get_page_at_lsn. As I wrote we can try to somehow protect this gap with lock... Or change layer map to correctly deal with old LSNs...

Also this morning I once again realized that correctness of Zenith approach in SMGR is based on the assumption that Postgres never make some changes without holding  lock of underlying page and the page is marked as dirty before buffer is unpinned.
Looks like it is true (I have not found exception to this rule except initialization of gist/gin indexes). But in principle it is not required: we can first write WAL and only then update page. In this case our current implementation will not work correctly.

After thinking for a while about this problem, I realized, that it is not related with GC at all. May be I missed something, but there seems to be the problem with layer_map:
Checkpointer creates image layer at inmem_layer.end_lsn. This layer contains pages which LSN may be less then end_lsn. But start_lsn of this layer is set to be equal to inmem_layer.end_lsn. And this layer is registered in layer map with [start_lsn,start_lsn+1) interval.

Let's walk through this example and see if I understand it right. Let's imagine that at first layer_map contains just one image layer:
image: 0100

Some WAL is processed, and a checkpoint happens. A new delta and a new image layer is created:
image: 0100
delta: 0100-0200
image: 0200

So any attempt to locate layer with smaller LSN will fail.

No. In the above example, if you request a page with e.g LSN 0150, it will find the last image layer before that LSN at 0100, and apply any WAL records needed for that page from the delta layer 0100-0200 to reconstruct the page as of LSN 0150.
Only GC removes the old layers. Until GC happens, they're still accessible.

Assume that we have no GC at all. But we have aggressive checkpointer which very frequently creates new image layers. But if get_page_at_lsn has deteriorated LSN, then we have to reconstruct page even through image of this page already reconstructed and stored in image layer.

I didn't understand this paragraph. What's the problem?

So I see two directions of addressing this problem:
1. Postpone calculation of `latest_lsn`. Don't do it in wait_for_lsn, but in get_page_at_lsn. It may require changing `get_layer_for_read(seg,lsn)`, for example replacing it with `get_latest_layer_for_read(seg)`.

Yeah, we could explicitly pass the information that we're looking for the latest LSN. But you could still have the same race condition within the get_page_at_lsn(). We'd still need some kind of an interlock to prevent GC from removing the page version we're about to read. Maybe we could make get_page_at_lsn() tolerant of that, by adding more retries if a layer gets removed just when we're about to step into it or something. But I think it would be harder with the checkpointer, it certainly needs to be able to read a consistent snapshot of a segment at a particular LSN, when it creates a new image layer. Also, would be nice to use the same interlock mechanism with read-only replicas that are not requesting the latest LSN.

2. Change interval of image_layer from `[end_lsn,end_lsn+1)` to `[start_lsn,end_lsn+1)`. I am not sure what else has to be changed, how this layer will interfere with intersected delta layers,...

Yeah, I think that's a non-starter. It would make it a lot harder to reason about what happens.

Only GC removes the old layers. Until GC happens, they're still accessible.
Yes, it is true.
Assume that there is no GC and we run the same example with random sleep between wait_for_lsn and get_page_at_lsn.
It may happen that master compute node will request LSN 0150 (with latest=true) flag and wait_for_lsn returns 150.
But before get_page_at_lsn is executed, image: 0200 is created. But get_page_at_lsn  will still reconstruct requested page from delta: 0100-0200 instead of taking ready page from  image: 0200.

It is not a bug, just inefficiency. But it seems to me that it illustrate that the source of the problem is not in GC.

Sorry, that I have been late with my comment (this morning I have three times changed my opinion about it: from not a problem at all, then fundamental bug in SMGR and to not related with GC:)

:-D. Yeah, this stuff is complicated.

So why compute node may request not the latest LSN which page server have?

Read-only replica. Yes, it may be acceptable to return "version is already collected by GC" in this case if specified LSN is ut of PiTR interval. But is is good that we have to reconstruct page if there is existed image layer in this page.

Right. And we should have a mechanism that prevents GC from removing page versions that are still needed by read-only replicas. (We don't currently.) But if it nevertheless happens, we should reliably detect that case in the page server and give a decent error message like that.

Gap between wait_for_lsn and get_page_at_lsn. As I wrote we can try to somehow protect this gap with lock... Or change layer map to correctly deal with old LSNs...

The layer map is correct AFAICS. Let's add a lock to fix the gap.

Also this morning I once again realized that correctness of Zenith approach in SMGR is based on the assumption that Postgres never make some changes without holding lock of underlying page and the page is marked as dirty before buffer is unpinned. Looks like it is true (I have not found exception to this rule except initialization of gist/gin indexes). But in principle it is not required: we can first write WAL and only then update page. In this case our current implementation will not work correctly.

Hmm, wouldn't that break things in vanilla PostgreSQL too? If you write WAL and release the lock, checkpoint could run before you actually modify the page. If you then crash and restart, the WAL record would not be replayed, so the update would be lost. So I think this is a safe assumption.

Hmm, wouldn't that break things in vanilla PostgreSQL too? If you write WAL and release the lock, checkpoint could run before you actually modify the page. If you then crash and restart, the WAL record would not be replayed, so the update would be lost. So I think this is a safe assumption.

But it happens within one transaction. So if Posgres is crashed, then everything changed by this transaction should be undone. So it is correct not to replay this part of WAL, isn't it?

On 17/01/2022 11:36, Konstantin Knizhnik wrote:

Hmm, wouldn't that break things in vanilla PostgreSQL too? If you
write WAL and release the lock, checkpoint could run before you
actually modify the page. If you then crash and restart, the WAL
record would not be replayed, so the update would be lost. So I
think this is a safe assumption.

But it happens within one transaction. So if Posgres is crashed, then
everything changed by this transaction should be undone. So it is
correct not to replay this part of WAL, isn't it?

Depends on what the update is. Not all updates are transactional, and
even for transactional updates, it depends. E.g. for INSERT, if the
index tuple already has been inserted, the corresponding heap tuple is
present too, even if it the transaction aborts. This is all
hypothetical, INSERT performs the locking correctly of course, but it's
not safe in general that you can just skip the WAL records that were
inserted by an aborted transaction.

Heikki

The fact that page is

On 17/01/2022 11:36, Konstantin Knizhnik wrote: Hmm, wouldn't that break things in vanilla PostgreSQL too? If you write WAL and release the lock, checkpoint could run before you actually modify the page. If you then crash and restart, the WAL record would not be replayed, so the update would be lost. So I think this is a safe assumption. But it happens within one transaction. So if Posgres is crashed, then everything changed by this transaction should be undone. So it is correct not to replay this part of WAL, isn't it?
Depends on what the update is. Not all updates are transactional, and even for transactional updates, it depends. E.g. for INSERT, if the index tuple already has been inserted, the corresponding heap tuple is present too, even if it the transaction aborts. This is all hypothetical, INSERT performs the locking correctly of course, but it's not safe in general that you can just skip the WAL records that were inserted by an aborted transaction. - Heikki

Ok, as far as there are no such places in Postgres tight now (I hope:),
then we should not try to fix unexisted problem (main principle of extreme programming:)
But in principle, if some update not yet changed somedatabase pages, then correspondent WAL records can be skipped during recovery. If it happen during page creation, then it can not interfere with other transaction so locking is not needed. But fortunately optimization scenario in this case is usually opposite: first write pages and then fix them in WAL.

I believe this issue has been fixed by PR #1139, closing.

Yes, it was fixed by [f70a5cad61e756f3185522ff14daf0de9a117ec8]


[zf3] [controller plugin] can't redirect with same controller without ModuleRouteListener

I am using zend-mvc v3, for example, I have an AboutController:
class AboutController extends AbstractActionController
{
    public function indexAction()
    {
        return $this->redirect()->toRoute('about', ['action' => 'foo']);
    }

    public function fooAction()
    {

    }
}

With route config:
            'about' => [
                'type' => 'Segment',
                'options' => [
                    'route'    => '/about[/:action]',
                    'defaults' => [
                        'controller' => Controller\AboutController::class,
                        'action'     => 'index',
                    ],
                ],
            ],

When I hit /about, it should redirecto to /about/foo, but without ModuleRouteListener register in ZendSkeletonApplication/module/Application/src/Module.php::onBootStrap(), it always redirect to '/', It happen to both toRoute() and toUrl()

oops, it seems because of custom redirect plugin that I apply manually in Module::onBootstrap because of I can't override 'redirect' plugin via 'allow_override' config, related with #191


Central Delhi Missing

When using the data from maps/parliamentary-constituencies/india_pc_2019.* and filtering for Delhi region there's an empty spot in the region.

Will add codepen and share the geoJSON file for missing shape
Layered with the current region of Delhi

Singular

Can you re-clone the repository and try? I checked and the data is present in the shapefile:

I cloned it yesterday

@devdattaT on a completey separate note there was an issue with the Mumbai shape as well.
Overlaying with OpenStreeMaps I get this.

Sorry, this is digressing from the main issue but I couldn't find any contact information on you so the only way to reach was this.
Are you planning to creating visuals for all these shapes on commits or push?

I think this deployment is from an old data

Created a code sandbox for the same:
https://codesandbox.io/s/missing-delhi-region-u60el?fontsize=14&hidenavigation=1&theme=dark


update readme

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


unhandled js error with preventupdate?

https://community.plot.ly/t/javascript-error-when-call-back-raises-dash-exceptions-preventupdate/22956

Fixed by #170


It is not possible to use client tools such as datagrip or redis insight

Feature request type
sample request
Is your feature request related to a problem? Please describe
I always thought this part was inconvenient while using it. Do you have any plans to create a dedicated GUI client tool or make the driver supported?
Describe the solution you'd like
Do you have any plans to create a dedicated GUI client tool or make the driver supported?
For reference, I am using garnet cluster mode.
Describe alternatives you've considered
No response
Additional context
No response

We have made sure in the past that RedisInsight works with Garnet. Let us know if you run into any issues.

When establishing a connection using intellij's Database function, the connection is established normally, but the schema is not viewed.
The versions used are as follows:
IntelliJ IDEA 2023.2.5
garnet : 1.0.8
The script used is as follows.
./GarnetServer --cluster --checkpointdir='/data/' --aof

redis-cli -h garnet-m -p 6379 cluster addslots $(seq 0 16383);
redis-cli -h garnet-m -p 6379 cluster set-config-epoch 1;
redis-cli -h garnet-s1 -p 6379 cluster set-config-epoch 2;
redis-cli -h garnet-s2 -p 6379 cluster set-config-epoch 3;
redis-cli -h garnet-m -p 6379 cluster meet garnet-s1 6379;
redis-cli -h garnet-m -p 6379 cluster meet garnet-s2 6379;
redis-cli -h garnet-s1 -p 6379 cluster replicate $(redis-cli -h garnet-m -p 6379 cluster myid);
redis-cli -h garnet-s2 -p 6379 cluster replicate $(redis-cli -h garnet-m -p 6379 cluster myid);

We confirmed that when applying the settings, data replication proceeds without problem.
However, the schema is not being searched.

DBMS: Redis (ver. 6.2.11)
Case sensitivity: plain=mixed, delimited=mixed
Driver: Redis JDBC Driver (ver. 1.5, JDBC4.2)

Ping: 17 ms

Unable to get the server mode using the "INFO server" command to check if the connection mode matches the server mode.
You can disable the connection mode verification. With the verification disabled, you need to ensure on your own that the prefix in your URL is correct (jdbc:redis:// or jdbc:redis:cluster://).

Is there a problem with the method I used?

we have not tried with cluster, if you can debug and let us know which command is missing, we might be able to add it. cc @vazois

Sorry for the late reply.
When executing the CONFIG GET databases command, I confirmed that an error occurred because the result type was different.
The log is as follows.
CONFIG GET databases
-- ] --------------------------------------------------
-- 2024-05-16 12:09:22 [garnet]<EMAIL_ADDRESS>[2]] [introspection] [session id:<PHONE_NUMBER>] [statement id: 264536377] error - class [B cannot be cast to class java.util.List ([B and java.util.List are in module java.base of loader 'bootstrap')
-- 2024-05-16 12:09:22 [garnet]<EMAIL_ADDRESS>[2]] [introspection] [session id:<PHONE_NUMBER>] [statement id: 264536377] finished - execution time: 11 ms
-- [ --------------------------------------------------

Based on redis 7.2.3 version, the result is output as follows.
1) "databases"
2) "1"

However, garnet is output as follows:
"16"

Good work narrowing it down, this should not be hard to fix. Thanks.

@kyuminMoon - can you see if this makes your tool work or does it hit some other issue after this fix?

@badrishc Thank you for the quick response
After testing with intellij and datagrip, it was confirmed that it was working properly!


Solve some issues; Add findneighbor, dataslice, and interpsliced

Codecov Report

Merging #14 (04cc81d) into master (b157da6) will increase coverage by 2.24%.
The diff coverage is 75.86%.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
+ Coverage   38.10%   40.34%   +2.24%
==========================================
  Files           9        9
  Lines         853      917      +64
==========================================
+ Hits          325      370      +45
- Misses        528      547      +19

Impacted Files
Coverage Δ

src/grid/simple.jl
93.26% <66.66%> (-0.91%)
:arrow_down:

src/grid/interpolate.jl
76.88% <75.90%> (-2.68%)
:arrow_down:

src/grid/composite.jl
95.19% <100.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


fix redis Queue class namespace

Hi,
I think, there is typo in documentation,
should it be \zhuravljov\yii\queue\redis\Queue now?

Yes, you are right. Thank you.


Re-enable skipped tests that no longer hang.

Fixes https://github.com/iree-org/iree/issues/16666
These tests are no longer hanging when I run them locally.
ci-exactly: build_packages, regression_test_cpu, regression_test_amdgpu_vulkan, regression_test_amdgpu_rocm, regression_test_nvidiagpu_vulkan, regression_test_nvidiagpu_cuda

Err... some of these still hang on (Linux) CI despite passing on my local (Windows) machine. Oh well.


Tech Debt: "Join a case" page should call case summary API

Describe the bug
When advocates or respondents try to join a case, they should be able to view some basic, public details of the case. Only after successfully joining a case should they be able to see the full details of a case.
To Reproduce
Steps to reproduce the behavior:

Login as a respondent
Click on 'Join a Case'
Enter the details and access code
Open the network tab
All details of a case are openly visible in the payload.

Expected behavior
Only public fields should be visible in the network tab.
Additional context
Related to the case summary API issue that has been filed.

API has been implemented as per ticket #1923 , but join a case implementation is still not using it. Need to fix that.
@suresh12 request to please help update the correct status here.


Deploying load balancer to the random free port from Rancher CLI

Rancher Versions:
Server: 1.5.1
healthcheck: 0.2.3
ipsec: 0.0.5
network-services: 0.1.1
scheduler: 0.5.1
Docker Version: 1.12.6 on agents, 17.03.0-ce on the server
OS and where are the hosts located? (cloud, bare metal, etc): Ubuntu 16.04.2 LTS (with KVM) (4.4.0), cloud, DigitalOcean
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) single node rancher, internal DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos) Cattle
Steps to Reproduce:
Our application has a web-server + load balancer, only load balancer is exposed to a public port.
In order to test different versions of the application simultaneously in our CD pipeline we deploy it to random ports, then retrieve the port it was deployed to and run e2e tests against this port.
We have been doing so by not specifing host port mapping (it looked like ports: -80) in docker-compose.yml file for load balancer service.
So when we did a deployment Rancher CLI has been choosing a random port (say 43165) where the application became accessible.
After migrating from bare metal setup to cloud setup and in the same time upgrading from Rancher 1.2 to 1.5 this behavior stopped working.
Now the port is not selected randomly, but instead Rancher sets port 80.
So steps to reproduce are:

Deploy the app using Rancher CLI:

docker-compose.yml:
version: '2.0'
services:
  load-balancer:
    image: rancher/lb-service-haproxy:v0.6.2
    labels:
      io.rancher.container.agent.role: environmentAdmin
      io.rancher.container.create_agent: 'true'
    ports:
    - 80
  web:
    image: some-image

rancher-compose.yml:
version: '2'
services:
  load-balancer:
    scale: 1
    start_on_create: true
    lb_config:
      certs: []
      port_rules:
      - priority: 1
        protocol: http
        service: web
        source_port: 80
        target_port: 3333
    health_check:
      healthy_threshold: 2
      response_timeout: 2000
      port: 42
      unhealthy_threshold: 3
      interval: 2000
      strategy: recreate
  web:
    scale: 2
    start_on_create: true
    health_check:
      healthy_threshold: 2
      response_timeout: 2000
      port: 3333
      unhealthy_threshold: 3
      interval: 2000
      strategy: recreate
      request_line: GET / HTTP/1.0

Check the port that Rancher chooses for load balancer service

Actual Results:
The load balancer is deployed to port 80 of any available host. If no free hosts are left then deployment fails.
Expected Results:
The load balancer is deployed to any free port of any available host.
In the environment having 3 hosts it should be possible to deploy 10 instances of application without having to generate a random port number (read: guess what of them is free) inside deployment script.
Please note that this issue is not about creating LB from UI (like  https://github.com/rancher/rancher/issues/3547 or https://github.com/rancher/rancher/issues/3103)

Any news on this?

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


unable to authenticate amazon account

https://i.imgur.com/iO7eMhA.png
https://i.imgur.com/bVC29Zv.png
When I type the address "<IP_ADDRESS>:3456" into my browser it just fails to load. I can't seem to authenticate my amazon account.

Is your nodered Running in a Docker and if so, have you expose the port in the Docker container

No, I am not sure how to do that.

No Docker or no port?
And when no Docker, is there a firewall or a other service on port 3456?

@AleksCee
I have the same problem.
Im running node-red in a Docker Container.
Can you please tell me how to set the thing with the port?
I'm just searched the internet for hours and don't find something adequate.
Thank in forward.

@AleksCee
I have the same problem.
Im running node-red in a Docker Container.
Can you please tell me how to set the thing with the port?
I'm just searched the internet for hours and don't find something adequate.
Thank in forward.

@vmrv79 in witch environment is your Docker running? I use a Synology NAS and in the GUI you can Setup the Ports. A mapping from local port to „external“ port.
If you run the Container per cli you can set it with the -p option: https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose
Like: docker run -d -p 1880:1880 -p 3456:3456 ........
To map the nodeRED port 1880 and the port for this node 3456
Alex

@vmrv79 in witch environment is your Docker running? I use a Synology NAS and in the GUI you can Setup the Ports. A mapping from local port to „external“ port.
If you run the Container per cli you can set it with the -p option: https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose
Like: docker run -d -p 1880:1880 -p 3456:3456 ........
To map the nodeRED port 1880 and the port for this node 3456
Alex

@AleksCee
Thank you very much for your support. Im running docker on a Raspberry Pi.
I was able to solve my problem in the meantime.
As a Docker newbie, I was probably on the wrong track and tried in vain to assign port 3456 to my running Node-Red container.
This is probably not in the sense of Docker containers and not easily possible. I guess the ports are usually set when the container is first set up.
Solution:
Therefore stop the container, delete it and start it again with the same already used command "docker run.... " but then as an addition to the already configured port e.g. "-p 1880:1880" simply add the additional port "-p 3456:3456" to the command.
For example, the command looks like this for me:
"docker run -it -p 1880:1880 -p 3456:3456 -v /home/pi/.node-red:/data --name mynodered nodered/node-red:latest".
If you have defined the data folder outside the container beforehand, as strongly recommended, nothing can be lost when deleting and setting up the container again and thus all flows etc. are still there.
I hope I could help some docker beginners with this.

@AleksCee
Thank you very much for your support. Im running docker on a Raspberry Pi.
I was able to solve my problem in the meantime.
As a Docker newbie, I was probably on the wrong track and tried in vain to assign port 3456 to my running Node-Red container.
This is probably not in the sense of Docker containers and not easily possible. I guess the ports are usually set when the container is first set up.
Solution:
Therefore stop the container, delete it and start it again with the same already used command "docker run.... " but then as an addition to the already configured port e.g. "-p 1880:1880" simply add the additional port "-p 3456:3456" to the command.
For example, the command looks like this for me:
"docker run -it -p 1880:1880 -p 3456:3456 -v /home/pi/.node-red:/data --name mynodered nodered/node-red:latest".
If you have defined the data folder outside the container beforehand, as strongly recommended, nothing can be lost when deleting and setting up the container again and thus all flows etc. are still there.
I hope I could help some docker beginners with this.

@AleksCee
Thank you very much for your support. Im running docker on a Raspberry Pi.
I was able to solve my problem in the meantime.
As a Docker newbie, I was probably on the wrong track and tried in vain to assign port 3456 to my running Node-Red container.
This is probably not in the sense of Docker containers and not easily possible. I guess the ports are usually set when the container is first set up.
Solution:
Therefore stop the container, delete it and start it again with the same already used command "docker run.... " but then as an addition to the already configured port e.g. "-p 1880:1880" simply add the additional port "-p 3456:3456" to the command.
For example, the command looks like this for me:
"docker run -it -p 1880:1880 -p 3456:3456 -v /home/pi/.node-red:/data --name mynodered nodered/node-red:latest".
If you have defined the data folder outside the container beforehand, as strongly recommended, nothing can be lost when deleting and setting up the container again and thus all flows etc. are still there.
I hope I could help some docker beginners with this.

Can you tell me where to find the directions to change the data storage to a directory outside of the container?

@AleksCee
Thank you very much for your support. Im running docker on a Raspberry Pi.
I was able to solve my problem in the meantime.
As a Docker newbie, I was probably on the wrong track and tried in vain to assign port 3456 to my running Node-Red container.
This is probably not in the sense of Docker containers and not easily possible. I guess the ports are usually set when the container is first set up.
Solution:
Therefore stop the container, delete it and start it again with the same already used command "docker run.... " but then as an addition to the already configured port e.g. "-p 1880:1880" simply add the additional port "-p 3456:3456" to the command.
For example, the command looks like this for me:
"docker run -it -p 1880:1880 -p 3456:3456 -v /home/pi/.node-red:/data --name mynodered nodered/node-red:latest".
If you have defined the data folder outside the container beforehand, as strongly recommended, nothing can be lost when deleting and setting up the container again and thus all flows etc. are still there.
I hope I could help some docker beginners with this.

Can you tell me where to find the directions to change the data storage to a directory outside of the container?

@bertiebeez in the documentation of the nodered Docker installation-guid:  https://nodered.org/docs/getting-started/docker#managing-user-data

@bertiebeez in the documentation of the nodered Docker installation-guid:  https://nodered.org/docs/getting-started/docker#managing-user-data

@AleksCee
Thanks

@AleksCee
Thanks


✨ Include a feature to load setting via url/env

https://www.dynaconf.com/advanced/#programmatically-loading-a-settings-file

Op option added


Allow targets to run simulator even while collapsed

Also, targets that set headless to true will default to a collapsed simulator.

Screenshots please


Update box to say 'All' if all checkboxes are checked

Right now, if all the checkboxes are selected, each label is listed:

This PR makes it so that if they're all selected, the 'summary' box says "All" instead:

@cllns Nice! I'll merge this.


Update Watchexec & add ARM64 binaries

Summary
Attempt at adding in ARM64 support.
Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

almost there! after I update libpak we can come back and merge!

Does my sha256 for the source look right to you? I grabbed these yesterday and must of messed something up cause they were all wrong today. I think I have them all corrected.

yep, all good to go @dmikusa
Unfortunately, I can't merge in this project.
@pivotal-david-osullivan or @ForestEckhardt could you review and merge please?


Global CLI, init command

Make a globally installable CLI Like CRA's that never needs to be upgraded as it is just a wrapper around the latest version of backpack-core.
Add backpack init command with template

Could this be aligned with the new yarn create feature? https://yarnpkg.com/blog/2017/05/12/introducing-yarn/
Sure, it will be pleasant to work with only for yarn users, but it will also eliminate issues with globally installed packages.

yarn create effectively just runs yarn global add create-${args[1]} && create-${args[1]} ${...args[2:]}, so it should be just fine for non yarn users to just npm i -g create-backpack-app && create-backpack-app my-app.
Has anything happened on this issue since it was marked in progress? I'd be interested to start the effort and contribute that if it hasn't been started already.

Nevermind, looks like this has started on #34


Frequent "Failed to send gratuitous NDP" warnings in IPv6 cluster

Describe the bug
I have created an IPv6-only cluster using Kind. When creating Pods, I frequently observe warnings informing me of a failure to send the gratuitous NDP messages. These messages always come as a group of 3, meaning that all 3 attempts to sendthe NDP message have failed.
I0506 21:37:45.805542       1 server.go:428] "Received CmdAdd request" request="cni_args:{container_id:\"0253ec9e6ca355411a896a6a175c0a07b2460fc8948545f4175d49a2e0a76bb2\"  netns:\"/var/run/netns/cni-e5448682-3224-4f17-ddf3-da66d41ba179\"  ifname:\"eth0\"  args:\"IgnoreUnknown=1;K8S_POD_NAMESPACE=default;K8S_POD_NAME=antrea-toolbox-fgmhd;K8S_POD_INFRA_CONTAINER_ID=0253ec9e6ca355411a896a6a175c0a07b2460fc8948545f4175d49a2e0a76bb2;K8S_POD_UID=b3e01035-e79d-4ad1-bb58-18117c261309\"  path:\"/opt/cni/bin\"  network_configuration:\"{\\\"cniVersion\\\":\\\"0.3.0\\\",\\\"ipam\\\":{\\\"type\\\":\\\"host-local\\\"},\\\"name\\\":\\\"antrea\\\",\\\"type\\\":\\\"antrea\\\"}\"}"
I0506 21:37:45.812608       1 server.go:498] "Allocated IP addresses" container="0253ec9e6ca355411a896a6a175c0a07b2460fc8948545f4175d49a2e0a76bb2" result={"cniVersion":"1.0.0","ips":[{"address":"fd00:10:244:2::7/64","gateway":"fd00:10:244:2::1"}],"dns":{},"VLANID":0}
I0506 21:37:47.607434       1 pod_configuration.go:257] "Configured container interface" Pod="default/antrea-toolbox-fgmhd" container="0253ec9e6ca355411a896a6a175c0a07b2460fc8948545f4175d49a2e0a76bb2" interface="eth0" hostInterface="antrea-t-301d59"
I0506 21:37:47.607602       1 server.go:527] "CmdAdd for container succeeded" container="0253ec9e6ca355411a896a6a175c0a07b2460fc8948545f4175d49a2e0a76bb2"
W0506 21:37:47.608506       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #0: write ip fe80::3c06:d4ff:fe08:8289%eth0->ff02::1%eth0: sendmsg: invalid argument
W0506 21:37:47.663654       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #1: write ip fe80::3c06:d4ff:fe08:8289%eth0->ff02::1%eth0: sendmsg: invalid argument
W0506 21:37:47.710718       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #2: write ip fe80::3c06:d4ff:fe08:8289%eth0->ff02::1%eth0: sendmsg: invalid argument

I have also seen this variation, with a slightly different error message:
I0506 21:32:32.578448       1 server.go:527] "CmdAdd for container succeeded" container="2c3f0e1c740a11a7b17359c6c91ee2670569839aecb1cbddf3edf5fe8537d108"
W0506 21:32:32.579049       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #0: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::1425:15ff:fea2:ac95%eth0: bind: no such device
W0506 21:32:32.631461       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #1: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::1425:15ff:fea2:ac95%eth0: bind: no such device
W0506 21:32:32.679866       1 interface_configuration_linux.go:332] Failed to send gratuitous NDP #2: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::1425:15ff:fea2:ac95%eth0: bind: no such device

To Reproduce
I used this configuration for Kind:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  ipFamily: ipv6
  apiServerAddress: <IP_ADDRESS>
  disableDefaultCNI: true
nodes:
- role: control-plane
- role: worker
- role: worker

Note that the apiServerAddress configuration is necessary because I am on macOS (refer to the Kind documentation).
To create Pods, I use the following DaemonSet:
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: antrea-toolbox
spec:
  selector:
    matchLabels:
      app: antrea-toolbox
  template:
    metadata:
      labels:
        app: antrea-toolbox
    spec:
      hostNetwork: false
      tolerations:
      - key: node-role.kubernetes.io/control-plane
        operator: Exists
        effect: NoSchedule
      containers:
      - name: antrea-toolbox
        image: antrea/toolbox:latest
        securityContext:
          privileged: true

You may need to apply / delete the file a few times to observe the issue.
Expected

Actual behavior

Versions:
I am using the latest version of Antrea (built from the main branch).
Additional context
I am not sure what can be causing this, but I haven't really looked too much into it. The Pods seem otherwise healthy.
The NDP messages are sent after network provisioning has completed, so it's strange to see this failing.
I also don't recall ever seeing a similar issue in the past for IPv4 / gratuitous ARP messages.
cc @tnqn

I deployed the first version that has the code (https://github.com/antrea-io/antrea/pull/3998), the same error happened, so I guess the code never worked:
I0507 14:08:56.995681       1 agent.go:96] Starting Antrea agent (version v1.8.0)
...
W0507 14:09:28.668531       1 interface_configuration_linux.go:330] Failed to send gratuitous NDP #0: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::bc0b:7fff:fe93:c7f7%eth0: bind: no such device
W0507 14:09:28.719695       1 interface_configuration_linux.go:330] Failed to send gratuitous NDP #1: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::bc0b:7fff:fe93:c7f7%eth0: bind: no such device
W0507 14:09:28.769339       1 interface_configuration_linux.go:330] Failed to send gratuitous NDP #2: failed to create NDP responder for "eth0": listen ip6:ipv6-icmp fe80::bc0b:7fff:fe93:c7f7%eth0: bind: no such device

Replacing the func with ndp.NeighborAdvertisement as suggested by https://github.com/antrea-io/antrea/pull/3998#pullrequestreview-1036920450, the message was sent successfully, but I haven't verified it's valid and can really stale a neighbor cache:
15:22:16.825943 IP6 fe80::44a9:86ff:feec:7702 > ff02::1: ICMP6, neighbor advertisement, tgt is fd00:10:244::7, length 32
15:22:16.876195 IP6 fe80::44a9:86ff:feec:7702 > ff02::1: ICMP6, neighbor advertisement, tgt is fd00:10:244::7, length 32
15:22:16.926622 IP6 fe80::44a9:86ff:feec:7702 > ff02::1: ICMP6, neighbor advertisement, tgt is fd00:10:244::7, length 32


[BLOCKED] Log2int prelude

This is blocked on https://github.com/kframework/k5/pull/98 being merged so that we can peg to a commit which is behind master (not a PR).

Jenkins: test this please

Jenkins: test mantis

Jenkins: test mantis

Jenkins: test mantis

Jenkins: test mantis

Jenkins: test mantis


AllowAnonymous for /users/refresh-token

Hi,
why are you using AllowAnonymous for the /users/refresh-token ?
Shouldn't updating a token happen in an already authenticated session? and in theory, I should only be able to update the token relating to my session.

Nevermind :) I understood why


SITL tests debugging

What's up with that landed state?

If you check the commit history, it appears all the SITL tests started failing here:
https://github.com/PX4/Firmware/commit/fa44cd5cd5391df40563dbe7194323a0cc08c1fd

@jkflying but that change is unlikely to make the tests fail. It's just a name change.
Also, I had found the landed state bug 7 days ago in https://github.com/PX4/Firmware/pull/15063/commits/41729ac7aa828e8a05be076d86dcb588ac8b27b4.


Dynamic username/pw expiry

When run locally, Pipeline is using a dynamic username/password from Vault to access the DB. This username/pw can expire when the machine where it runs sleeps. It's causing failures every time when Pipeline is trying to access the DB:
(/Users/marton/prj/go/src/github.com/banzaicloud/pipeline/auth/github.go:71)
[2018-10-03 18:06:25]  Error 1045: Access denied for user<EMAIL_ADDRESS>(using password: YES)

(/Users/marton/prj/go/src/github.com/banzaicloud/pipeline/auth/github.go:71)
[2018-10-03 18:06:25]  [12.85ms]  SELECT * FROM `auth_identities`  WHERE (`auth_identities`.`provider` = 'github') AND (`auth_identities`.`uid` = '1568469')
[0 rows affected or returned ]

(/Users/marton/prj/go/src/github.com/banzaicloud/pipeline/vendor/github.com/qor/auth/user_storer.go:45)
[2018-10-03 18:06:25]  Error 1045: Access denied for user<EMAIL_ADDRESS>(using password: YES)

(/Users/marton/prj/go/src/github.com/banzaicloud/pipeline/vendor/github.com/qor/auth/user_storer.go:45)
[2018-10-03 18:06:25]  [5.61ms]  SELECT * FROM `auth_identities`  WHERE (`auth_identities`.`provider` = 'github') AND (`auth_identities`.`uid` = '1568469') ORDER BY `auth_identities`.`id` ASC LIMIT 1
[0 rows affected or returned ]

not relevant


App should be shared for the security role that user has been assigned

https://support.microsoft.com/en-us/help/4486472/we-can-t-find-any-apps-for-your-role-message-in-dynamics-365-for-phone

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

ID: 4c5e864a-d321-36de-db41-e74c149cb8cf
Version Independent ID: 5e6f6328-52b5-d0b8-84a1-5dc48c87583b
Content: Set up Dynamics 365 for phones and Dynamics 365 for tablets
Content Source: ce/mobile-app/set-up-dynamics-365-for-phones-and-dynamics-365-for-tablets.md
Service: crm-online
GitHub Login: @mduelae
Microsoft Alias: mkaur

@nishantranacrm Thank you for you feedback. I am in the process of reviewing this topic with our internal PM team. Stay tuned for updates.
Thanks,
Mints

@nishantranacrm this have been added to the topic.
Thanks for the feedback.
Mints


Caused by Rack::QueryParser::InvalidParameterError: Invalid encoding for parameter: �

Visit Airbrake error to view the full backtrace.

Comment from Airbrake: Resolved error reoccurred.

Comment from Airbrake: Resolved error reoccurred.


METRON-1707 Port Profiler to Spark [Feature Branch]

This ports the Profiler to run in Spark.
This is a pull request against the METRON-1699-create-batch-profiler feature branch.
This is dependent on the follow PRs.  By filtering on the last commit, this PR can be reviewed before the others are reviewed and merged.

[x] #1145
[x] #1146
[x] #1148
[x] #1147

This does not include a mechanism to launch the Batch Profiler yet.  A follow-on PR will provide a means to launch the Batch Profiler from the command line.
Testing
Test Existing Functionality

Launch the development environment.
Ensure alerts are created in the Alerts UI.
Ensure the Service Check in Ambari passes.
Follow the instructions in the Profiler README to create a basic profile in the REPL.
Follow the instructions in the Profiler README to create a simple profile using the Profiler topology in Storm.

Test New Functionality

Build and install Metron.
mvn clean install -DskipTests -T2C

Edit metron-analytics/metron-profiler-spark/src/test/resources/log4j.properties and set log4j.logger.org.apache.metron.profiler.spark=DEBUG.

Run the BatchProfilerIntegrationTest either in your IDE or using Maven like so.
cd metron-analytics/metron-profiler-spark/
mvn -Dtest=BatchProfilerIntegrationTest test

The output should look something like the following which shows that 2 profile measurements were written by the Batch Profiler.

Running org.apache.metron.profiler.spark.BatchProfilerIntegrationTest
2018-08-13 09:09:53 DEBUG BatchProfiler:70 - Building 1 profile(s)
2018-08-13 09:09:53 DEBUG BatchProfiler:102 - Loading telemetry from 'src/test/resources/telemetry.json'
2018-08-13 09:09:56 DEBUG BatchProfiler:109 - Found 13710 telemetry record(s)
ANTLR Tool version 4.5 used for code generation does not match the current runtime version 4.7ANTLR Runtime version 4.5 used for parser compilation does not match the current runtime version 4.7ANTLR Tool version 4.5 used for code generation does not match the current runtime version 4.7ANTLR Runtime version 4.5 used for parser compilation does not match the current runtime version 4.72018-08-13 09:09:58 DEBUG BatchProfiler:127 - Generated 13710 message route(s)
2018-08-13 09:10:00 DEBUG ProfileBuilderFunction:84 - Building a profile for group 'profile1-<IP_ADDRESS>-1704628' from 4017 message(s)
2018-08-13 09:10:00 DEBUG ProfileBuilderFunction:98 - Profile measurement created; profile=profile1, entity=<IP_ADDRESS>, period=1704628, value=4017
2018-08-13 09:10:00 DEBUG ProfileBuilderFunction:84 - Building a profile for group 'profile1-<IP_ADDRESS>-1704628' from 9693 message(s)
2018-08-13 09:10:00 DEBUG ProfileBuilderFunction:98 - Profile measurement created; profile=profile1, entity=<IP_ADDRESS>, period=1704628, value=9693
2018-08-13 09:10:00 DEBUG BatchProfiler:167 - Produced 2 profile measurement(s)
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:123 - 1 profile measurement(s) written to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:123 - 1 profile measurement(s) written to HBase
2018-08-13 09:10:00 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:111 - About to write profile measurement(s) to HBase
2018-08-13 09:10:01 DEBUG HBaseWriterFunction:123 - 0 profile measurement(s) written to HBase
2018-08-13 09:10:01 DEBUG BatchProfiler:185 - 2 profile measurement(s) written to HBase
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.967 sec - in org.apache.metron.profiler.spark.BatchProfilerIntegrationTest

Pull Request Checklist

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?
[x] Have you included steps or a guide to how the change may be verified and tested manually?
[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
[x] Have you written or updated unit tests and or integration tests to verify your changes?
[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

Do we have to use groupByKey in the spark implementation, is it not possible to use reduceByKey to build the profiles, since profilers are by definition reducible. I've seen groupByKey cause performance problems (see https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/prefer_reducebykey_over_groupbykey.html for a good discussion on this).

@simonellistonball: Do we have to use groupByKey in the spark implementation, is it not possible to use reduceByKey to build the profiles...

I had in the back of my mind that groupByKey might not be the most performance option, but I just didn't focus any energy on that for the first pass.
I will take a look and see if we can't use your advice.  Thanks for the pointer @simonellistonball !

I just refactored BatchProfiler hopefully to make it simpler to grok.  The functionality was not changed.  I wanted to refactor prior to additional work on @simonellistonball 's reduceByKey suggestion.

I was able to understand everything by following BatchProfilerIntegrationTest.  Looks like a great start to me. +1

Thanks for the review guys!  I merged this one into the feature branch.
For those reviewers wanting further punishment, #1161 is the next PR to review for this feature branch.


Layouts or blocks in the views

It would be nice to be able to specify a reusable layout or reusable blocks in the views. As an example, the Render library does this fairly well. These features would make it easier to build larger sites.

That is a good feature, you can pull it yourself easily and use it with utron. the view in utron is an interface with the following signature.
type View interface {
	Render(out io.Writer, name string, data interface{}) error
}

I think SimpleView whish is shipped with utron should remain simple. And maybe add a section in the README for different View implementation that utron users can choose from.

Nice work bro, keep it going

Thanl you @influx6 and you are welcome to contribute.


update vmware dockerfile with latest vsphere version

Status
Ready
Related Content Pull Request
Related PR: link to the PR at demisto/content
Description
Supporting latest vsphere version for VMWare integration.

@barryyosi-panw why was this locked in the first place?

@JudahSchwartz with the initial setup it would not work without specifying a version tag according to @michal-dagan & @eyalpalo


revert haskell.nix update

This hopefully unbreaks the CI issues we see.

@lehins this is as green as we can get it right now, I believe. There are only some 9.8.2 windows cross build failures, everything else is green.

As mentioned on slack, and forgot to commit here: we are stuck on the old haskell.nix pin until we can drop 8.10


add validate-config action and README

This will fix #9 by implementing a validation action for config files
that additionally comments on the pull request the results of the
validation.

final_this_one_srsly_actually_final.docx
I added @annakrystalli's suggestions and did the following:

updated checkout to v4
use the r-universe instead of github for installation
improved messaging to give a timestamp and to give a successful message when passing

Also, I have https://github.com/hubverse-org/hubDocs/pull/164 in draft. It's actually ready, but I didn't want to open it until this is merged.


special UTF-8 characters make folder been invisible

When album contains special characters, like "é" or "à" or "è" the folder is not shown at all.
Whith the Classic (Default) skin, theses albums are correctly shown.
Tested on PiCorePlayer and Debian with latest LMS and UTF-8

Which version of LMS? You say latest - but that does not mean much. Looks like https://github.com/Logitech/slimserver/issues/275 Which was discussed on the LMS forums around https://forums.slimdevices.com/showthread.php?109624-Announce-Material-Skin&p=946503&viewfull=1#post946503
If you use server provided categories, does it then work OK? As for the next feature release, I'm only using server provided categories.

Logitech Media Server Version : 7.9.2 -<PHONE_NUMBER> @ Mon Mar 11 07:19:10 CET 2019
...
Système d'exploitation : Debian - FR - utf8
Architecture de la plate-forme : aarch64-linux
Version de Perl : 5.24.1 - aarch64-linux-gnu-thread-multi
Audio::Scan : 0.95
IO::Socket::SSL : 2.044
Version de la base de données : DBD::SQLite 1.34_01 (sqlite <IP_ADDRESS>)
Platines identifiées : 5

If you use server provided categories, does it then work OK? As for the next feature release, I'm only using server provided categories.

What do you mean by server provided categories ?

The "Artists", "Albums", etc categories. By default Material lists its own - and these are the same across all players. In Materia's main settings page (accesed via the 3 doted menu top right), you can configure Material to get this list of categories (or browse modes) from LMS.

I have upgraded to (real) latest 7.9.2 :

Logitech Media Server Version : 7.9.2 -<PHONE_NUMBER> @ Mon Mar 11 07:19:10 CET 2019

And the folders appears again !
Thank you for your work and your fast acknoledgment ...


spam player effects not working

nothing comes up when I use spam player efects :(

False issue. It won’t show for you, but will for everybody else.


after adding a point on a graph is it possible to move that points instead of drag functionality ?

for now in functional graph we have drag that let us know about the details of points but i want to add the points on graph and then let these points to move on the graph when ever i drags the point on graph.
Thanks in advance for help.

As mentioned in your last question: You need to implement a class that provides the data points i.e. it implements ChartData. In your app you provide the data in whatever way fits your needs. Then follow the sample app for how to provide touch support to display the details of a data point.