AAUI don't want to see unusable fields in kustomize.yaml (3)

remove the unused k8s api fields:
apiVersion: manifest.k8s.io/v1alpha1
kind: Manifest
metadata:
  name: foo

from all examples and documentation

i have a PR in progress to wrap this up

There's currently no use of a kustomization as an API object or custom resource, so there's nothing that can fail if these fields are missing, and if they are present they get picked up as a possible resource by kubectl.  Need a coherent plan if we want to put them back


feat(db): add typescript plugins support

The code looks good, but there are conflicts. Could you add a quick loom to demo this?


Hmm

Describe your problem here.
I wonder if you can change the time that shows on the time bar
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

Yes, you can.


allow vs-excess act as a buffer

Can you make it that when you have a big vs-excess, you are able to scroll to a min number of items that are offscreen (but rendered) before you render more items (to the vs-excess value). Essentially make it act like an infinite scroll. This could let scrolling be smoother when rendering new items is expensive.
Right now it feels like even though there is an excess, many new items are still being rendered each time you scroll.

We have also experienced this. Even if you specify an vs-excess of, let's say, 20 (10 above and 10 below the visible content), rendering of the next item happens when you scroll more than one item, one at a time. You can see the little stuttering of the scrolling element at exactly the same moment.
This probably also means, that a digest cycle is triggered. Like this, vs-excess only serves as a buffer of rendered content for fast scrolling, so that you don't scroll into the unrendered area.
But let's say, we introduce a parameter vs-chunksize="5". We could scroll 5 items without rendering anything (as 10 items are prerendered), and only after the 5th item do we move a chunk of 5 items to the bottom. One digest cycle for 5 items, wouldn't that improve performance? At least for items, that are rendered fast, so that the digest for 5 items does not take significantly longer than for one.


Fix preflight scans

Description
Fix Preflight scans. Topology image is missing the licenses used by the metrics in its image.

This is blocking publishing of topology image in RedHat catalog.
Added the changes to include licenses in the topology image.
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

Checklist:

[X] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[ ] I have verified that new and existing unit tests pass locally with my changes
[ ] I have not allowed coverage numbers to degenerate
[ ] I have maintained at least 90% code coverage
[ ] I have inspected the Grafana dashboards to verify the data is displayed properly
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration
Preflight scans passed:

Please provide more details on why these changes are required in the description of the pull request.

Done


Could not load type 'OpenQA.Selenium.PhantomJS.PhantomJSDriverService'

Describe the bug
I cannot run a project using canopy via paket. I started the project as a nuget project and opened canopy.classic where necessary. Migrated the project to paket and the compiler yells at me for canopy.classic. So, I remove the .classic bit and it compiles. But, when I go to start a chrome instance I get the following error:
System.TypeLoadException: 'Could not load type 'OpenQA.Selenium.PhantomJS.PhantomJSDriverService' from assembly 'WebDriver, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.'

Desktop (please complete the following information):

OS: Windows 11
Browser: Chrome
Version: 96

It looks like you are pointing at Selenium 4, canopy is built against selenium 3, try version 3.141.0

That was it. Thank you.


how to migrate dockerized uptime-kuma to a different server?

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Currently there is no wiki documentation found with the process of moving a docker-installed Uptime-Kuma setup from one server to a different physical server, unless I have overlooked it. Can someone please help me figure this out?
📝 Error Message(s) or Log
N/A
🐻 Uptime-Kuma Version
1.21.2
💻 Operating System and Arch
Debian 10
🌐 Browser
N/A
🐋 Docker Version
Docker 18.09.1
🟩 NodeJS Version
N/A

All you need to do is transfer the files in the /data folder. The exact procedure depends if you mounted it as named volume or mounted a host directory.


browse: Use helper functions in staticfiles to redirect

Previously the browse package invoked staticfiles.Redirect when
redirecting clients who requested a directory but with a Request-URI
that did not contain a trailing '/'. staticfiles.Redirect only used a
relative URI. This change defers the decision of how to format the
Location header value to the helper methods in the staticfiles package.

Thanks Eric! Help me understand a little bit, is the relative redirect problematic?

Thanks for being patient while waiting for a response.
This change is based on our discussion here, as we wanted to make the redirect behavior between the browse and staticfiles packages consistent.
Regarding relative vs. absolute URI in the Location header, I made the change because the virtual site configuration provides the scheme and host components. Those two components are missing from most server requests, and http.Redirect requires both in order to use an absolute URI in the Location header. RFC2616 says that the Location header is an absolute URI, but we all know that isn't always the case. On the other hand, using a relative URI leaves it up to the client or web server to resolve the URI itself.
If you're uncomfortable with using absolute URI then we can change it back. Fortunately, we can change it in the helper functions such that both packages use the same URI format.

@ericdreeves FYI, I'm investigating a breakage this introduced for a Caddyfile like:
:2015 {
   ...
}

Then requesting a directory without the trailing forward slash (which invokes RedirectToDir) causes a redirect to:
http://:2015/myfolder/

Which is not correct.

@ericdreeves Or maybe this was introduced by #1331, I'm actually not sure. :) But, I think I'm gonna change this to a relative redirect. Let me know if you have any tips/comments on it.

@ericdreeves Aha, it's introduced with https://github.com/mholt/caddy/commit/024833b2e3b0e08b39d40ceb1b012ed563671332#diff-e74f72185700e304b2047c4af2ad1a48R271 - I'm gonna remove that if statement. I don't think filling in those values is going to be good.
I didn't catch this earlier, but the reasoning in this comment makes a false assumption:

Since the virtual host's site address has both

A Caddyfile's site address can be simply :2015 (port only), not both.

Thanks for finding the cause, @mholt, and for taking care of it. Let me know how I can help.

@ericdreeves No problem :) I'm pushing a fix now. My lack of a sufficient test harness for the httpserver is to blame, ultimately. My bad.

@ericdreeves By the way, I didn't mean to blame you; I was just informing you as I thought you might be interested and if I hit a wall you could help. Your contributions have made Caddy better for sure!

@mholt I didn't take it that way. I appreciate you keeping me in the loop!


[util] Enable memoryTrackTest for Secret World Legends

Otherwise d3d9 mode thinks we only have 512MB vram which will lock the higher graphics presets.
I opted to put this in the d3d11 section as going by the Far Cry 2 config I assume we sort the games by their highest supported dxvk renderer (d3d12 not included). See comment below

I opted to put this in the d3d11 section as going by the Far Cry 2 config I assume we sort the games by their highest supported dxvk renderer (d3d12 not included).

After many decades of R&D, committee meetings and talking to costumers at the world famous international DXVK convention i have decided it makes more sense to keep it in the d3d9 section. Makes sense to only sort by highest API if we set configs for both.
I have also taken the liberty of moving Far Cry 2 to the d3d9 section.


please use decrypt from tools.js

https://github.com/dbweb-ch/ioBroker.tesla-motors/blob/master/main.js#L902
Replace with
const tools 	  = require(utils.controllerDir + '/lib/tools.js');
tools.decrypt('secret', '9876968687')

Done.
Is there also an official way how this could be used by index_m? Decrypt from tools.js while encrypted and decrypted by function in index_m doesn't look clean.

I understand, that this is not clear solution, and that the password should be sent only in one direction: from index.html to server and never back.
But for now we have only this and we must to change it in the future.


Multiple identical param-keys: Not possible due to Java-Map for params ...

Hi there,
really great tool. but I'm facing the following issue:
I have to process requests like this:
GET /kad/r?s=ce240dbd-0990-45c5-922c-e9cd3c63becf&a=3/1/100&a=3/1/110&a=3/1/130&t=0
Problem is: I have multiple params with name "a" ... The current nanohttpd implementation makes use of Java Hashmap to store the params. But this does not allow multiple params with same name... argh
I'm currently investigating how to solve this easily and without big code overhead.
Any ideas?

Ah, I see.. this was alsready fixed in latest snapshot. Latest version in maven central does not have this fix.
Is there somewhere a public maven repo containing the latest (snapshot) version or do i really have to build on my own?

Argh Seems I see ghost-code ... There is no multi-identical param support yet, or?

Looks like NanoHTTPD#protected static Map<String, List> decodeParameters(Map<String, String> parms) is what I'm looking for...

public snapshots at: https://oss.sonatype.org/content/repositories/snapshots
thanks for solving the problem yourself


Create guide for BigQuery => BigQuery operator

It is not necessary. Let's do it later.

https://issues.apache.org/jira/browse/AIRFLOW-6286?jql=project %3D AIRFLOW AND component %3D documentation


Added JsonContract.TypeNameHandling property

This PR adds JsonContract.TypeNameHandling property.
Motivation
Having JsonContract.TypeNameHandling property will allow finer control over type name serialization without having to resort to using JsonProperty which is not always possible. (classes outside the developer's control or too many classes)
Background
During a migration of large project spanning hundreds of DTOs to Newtonsoft.Json, I wished to avoid array types from being serialized with type information, while at the same time have object types serialized with type information when appropriate (TypeNameHandling.Auto for object types, and TypeNameHandling.None for array types).
IMO it is not practical nor desirable to add JsonProperty to hundreds of DTOs, and the suggested property allows finer control at the JsonContract level which I believe is the most desirable approach.

This is still very relevant to me and I would really like to move forward with this.

This is still very relevant to me and I would really like to move forward with this.

Thanks @skundlony,
I would really like to move forward with this.

I would really like to move forward with this.


Adding more logs during 'Impersonate-User' header processing

closing in favour of https://github.com/fabric8-services/fabric8-oso-proxy/pull/38/


what is ayla?

What is ayla\ in example 1? please make the text in the example more clear.

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

ID: 898a7767-d713-4b9a-de97-0c7d787aaa07
Version Independent ID: fe68ba74-2819-98d3-5e23-960e2501050e
Content: Get-MailboxRestoreRequest (ExchangePowerShell)
Content Source: exchange/exchange-ps/exchange/Get-MailboxRestoreRequest.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@WillemVerwijs. it's a person's first name. I updated the text to clarify.
Thanks, for the feedback.
Closing


Failed to build SDK due to the failure when building @azure/core-rest-pipeline

Describe the bug
Got the following error on building @azure/core-rest-pipeline when generating SDK in https://github.com/Azure/azure-rest-api-specs/pull/31549:
08:30:43.552 cmdout 	[automation_generate.sh] src/util/file.ts(119,10): error TS2352: Conversion of type '{ type: string; lastModified: number; webkitRelativePath: string; size: number; name: string; stream: () => ReadableStream<Uint8Array<ArrayBufferLike>>; [rawContent]: () => ReadableStream<Uint8Array> | NodeJS.ReadableStream; arrayBuffer: () => never; slice: () => never; text: () => never; }' to type 'File & RawContent' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.

To Reproduce
Steps to reproduce the behavior:

create a PR as https://github.com/Azure/azure-rest-api-specs/pull/31549

Expected behavior
JS SDK automation in PR of Azure/azure-rest-api-specs repo should succeed.
Additional context
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=4368499&view=logs&j=47092895-c7c8-567a-c7a6-8c88f3ec178e&t=d293a8e8-c6af-5091-cdf7-4c66482dd6f2&l=2220

I encountered the same issue in my pr of sdk repo, here is the log: https://dev.azure.com/azure-sdk/public/_build/results?buildId=4361393&view=logs&j=3dc8fd7e-4368-5a92-293e-d53cefc8c4b3&t=6b39eeeb-8630-577b-6174-f2bee8ec791c&l=483
and my solution is delete common/config/rush/pnpm-lock.yaml file and common\temp folder locally first, then re-run rush update and build the package.  But I don't know how to fix this issue in JS SDK automation

Looks like this can resolve the issue: https://github.com/pnpm/pnpm/issues/3784#issuecomment-926976725

@wanlwanl @kazrael2119 is there still any failures?


Add some tests for venv.py

Test coverage moving on up (35 -> 45)!  Still thinking about how to mock installing requirements -- I wonder if adding a pypi file to the tests/fixtures/ directory, and just adding ~2 libraries with minimal setup.py would work...

Coverage increased (+10.5%) to 46.318% when pulling b6b51a9a90aec6b5f948512ccfa4db9667a794e4 on ColCarroll:test_venv into cc0d9d86baa2918f83fc86cd721a8b024a777457 on pnegahdar:master.

Coverage increased (+10.5%) to 46.318% when pulling b1b0d2c74e9a46d0fb2bdcd638f38fa57a6a9b5f on ColCarroll:test_venv into cc0d9d86baa2918f83fc86cd721a8b024a777457 on pnegahdar:master.

Coverage increased (+10.5%) to 46.318% when pulling 270148dfab86bf4787c001894c268cbe732b6b2f on ColCarroll:test_venv into cc0d9d86baa2918f83fc86cd721a8b024a777457 on pnegahdar:master.


Misprint fixes

@tuxofil Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@tuxofil Thank you for signing the Contributor License Agreement!

@tuxofil Thanks!


Add information on automatically created resources

I think it would be wise to add a short section on what other resources that are automatically created when creating a workspace. On the page 'How the service works' under 'Concepts' (https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-azure-machine-learning-architecture), there is a short list on all other resources created. Perhaps a similar (or identical) list could be added to this document?
Why I'm asking is not mainly because I think it is wise to inform the users on these additional resources, but mainly because I think it would be wise to also explain how these additional resources are related to the workspace, and perhaps more importantly how they are deleted. And I haven't come across any information about that in any other document yet.
If I create two different workspaces in the same resource group, will they add one set of additional resources each, or will they share these additional resources? If separate sets of resources are created and I delete a workspace, will the additional resources connected to that workspace be automatically deleted, or do I need to manually delete them, and if so, how will I know which among all added resources are connected to that particular workspace?
I think there is reason to add a section on these resources, their relations and functions.
Thanks in advance.

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

ID: 2caff87f-9f38-988a-12f3-fc96798e3c99
Version Independent ID: 80ab1cdf-282d-29d6-c146-68d1ce8d00b8
Content: Create and manage Azure Machine Learning Workspaces
Content Source: articles/machine-learning/service/how-to-manage-workspace.md
Service: machine-learning
GitHub Login: @shivp950
Microsoft Alias: shipatel

@ArvidBaa Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@shivp950 Hi, this is a doc suggestion and also the customer has some questions about that, can you please check it and update the document as necessary?

@shivp950 Any update?

@ArvidBaa @YutongTie-MSFT This is great feedback, I will update the document with further details on the additional resources. As for your questions, when you delete a workspace, the resources created with the workspace, such as keyvault, appinsights and container registry, still remain under the resource group and you must delete them separately. Each workspace has it's own set of resources that are created regardless of which resource group it falls under.  You can view the name/ID of the connected resources when you go into the workspace and select properties. Their name/ID is the workspace name appended with a combination of letters.

@shivp950 Thanks a lot for your response and effort for the document.
@ArvidBaa Thanks for bringing this issue to our sight. We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.

@shivp950 Ah, I see now the references in the Workspace to each of the resources. Thank you for your help!


ol.source.Vector#forEachFeature skips features without geometry

When calling forEachFeature(callback, opt_this), the callback is not called with features that have no geometry.
Code that shows the issue:
https://codepen.io/anon/pen/LQdrVa
`
var source = new ol.source.Vector();
source.addFeature(new ol.Feature());
console.log(source.getFeatures().length); // 1
source.forEachFeature(function (f){
console.log("forEachFeature"); // won't show up
});
`
If it is by design then the docs don''t state it clearly.
Excerpt from the api docs:
https://openlayers.org/en/latest/apidoc/ol.source.Vector.html#forEachFeature
"Iterate through all features on the source, ...."
Tested with v4.6.4

I don't know if it's by design but you can you use the getFeatures() function instead:
source.getFeatures().forEach(function(f) {
  console.log("forEachFeature");
});

This function returns an Array of features


style(ngRequired): mark when invalid

When using ng-required a red border on control is shown (styles added all 3 themes)
The styles will show only if the control is dirty and invalid, so to reproduce it you should first fill values on each field and then press Clear ng-model
You can try it with this plunker

+1 more for multiple. Hitting a roadblock now that I find out this isn't supported. Has anyone come up with a solution?

Yes, you can watch the ng-model, if the selected array is empty $setValidity("required", false);

@hatpick Thanks. Are you referring to modifying the ui-select code itself or doing this in my app?
I add this code from the pull request:
if ($select.multiple) {
              var defaultIsEmptyFn = ngModel.$isEmpty;

              ngModel.$isEmpty = function(value) {
                return (angular.isArray(value) && value.length === 0) || defaultIsEmptyFn(value);
              };
            }

It appears to work (i'm using angular auto-validate) by showing if there is an error after I submit the form but never before (adding then removing). After I submit the form, it shows as an error (correctly) but the error indication never goes away after that even after making a selection.

+1 for multiple

@hatpick thank you!
I got it working like a charm with the following directive:
myModule.directive('uiSelectRequired', function () {
    return {
        require: 'ngModel',
        link: function (scope, element, attrs, ngModel) {
            scope.$watch(function () {
                return ngModel.$modelValue;
            }, function (newValue) {
                if (ngModel.$modelValue && ngModel.$modelValue.length) {
                    ngModel.$setValidity("required", true);
                }
                else {
                    ngModel.$setValidity("required", false);
                }
            });
        }
    };
});

Better version without "$watch":
angular.module( "myApp )
	.directive( 'uiSelectRequired', function() {
		return {
			require: 'ngModel',
			link: function( scope, element, attrs, ngModelController ) {
				var idName = attrs.name;
				ngModelController.$validators[idName] = function( modelValue, viewValue ) {
					return modelValue !== undefined && modelValue !== null && modelValue && modelValue.length > 0;
			};
		}
	};
} );

Cool!!

I use this with angular-fromly for validate ui-select with multiple:
.directive('multipleRequired', function() {
  return {
    require: 'ngModel',
    link: function (scope, element, attrs, ngModel) {
      if (attrs.multipleRequired) {
        ngModel.$validators.multipleRequired = function(modelValue, viewValue) {
          return !!(modelValue || viewValue).length
        }
      }
    }
  };
})

<ui-select multiple ng-model="model[options.key]"
           multiple-required="{{to.required}}"
           ng-disabled="{{to.disabled}}">
...
</ui-select>

Hey, guys!
I just made some changes to your code to enable/disable the required option.
.directive('uiSelectRequired', function(){
  return {
            restrict: "A",
            require: '^ngModel',
            scope: {
              uiSelectRequired:"="
            },
            link: function(scope, elm, attrs, ngModel) {
                ngModel.$validators.uiSelectRequired = function(modelValue, viewValue) {
                    var determineVal;
                    if (angular.isArray(modelValue)) {
                        determineVal = modelValue;
                    } else if (angular.isArray(viewValue)) {
                        determineVal = viewValue;
                    } else {
                        return false;
                    }

                    return scope.uiSelectRequired ? determineVal.length > 0 : true;
                };
            }
        };
})

Template:
<ui-select multiple ng-model="...">
<ui-select-match ui-select-required="!filterModel.allOptions">
    {{$item.name}}
</ui-select-match>
<ui-select-choice>

</ui-select-choices>
</ui-select>

You are using ngModel.$validators.uiSelectRequired = ...
How does it works if you have more ui-selects in one <form> ?
It is because I used:
var idName = attrs.name;
ngModelController.$validators[idName] = ...

Is my way right or wrong?

@dsalvagni I misread your template and added ui-select-required to the ui-select element and had a problem with two directives wanting different isolate scopes. it was easily fixed with removing the scope: from the directive object and replacing the return line with.
return scope.$eval(attrs.uiSelectRequired) ? determineVal.length > 0 : true;

(could also be !scope.$eval(attrs.uiSelectRequired) || determineVal.length > 0 )
It makes more sense to me to put this on the ui-select element since that's the one with the ng-model on it. (similar to ng-model and ng-required elsewhere).

Great point, @arkarkark. Thanks for sharing it.
You're right, it makes more sense. I tried to add ui-select-required to the ui-select element but I had the same problem that you mentioned. I didn't realized that I could use the scope.$eval to execute an expression on an attribute. I'll fix my code.
The second point, about the return statement, I think this is more readable:
return scope.$eval(attrs.uiSelectRequired) ? determineVal.length > 0 : true;

yeah, I kinda agree wth you on the return value @dsalvagni :+1:


ci: enable ccache for macOS

Should help a bit with build times, also consistent with the other builds

Added a patch from #803 to fix the macOS and MinGW builds sharing an artifact.
Doesn't do anything about the macOS artifacts containing 108 copies of SDL though. (3 for each example due to artifacts not doing symlinks, > 3MB each)

It should be 3.2MB (and is in release packages), but the artifact upload follows symlinks and makes it 3x bigger...
(Which is a pretty good size considering that the windows .dll is 2.5MB and doesn't contain two architectures)
Don't know if we can get fixup_bundle to put dependencies somewhere that isn't in the bundle. We could do some hack and not run it for artifacts, but then the output is even harder to run. (not signed, so you already have to mess with security settings)

Ugh I forgot about macOS security settings. Hacks are probably generally a bad idea :laughing:

Hah, this is a weird case where the "double zip" thing would actually help...


Support more options?

It would be nice to support some glob options, like matching hidden directory or not.
In the nu-glob crate(which is a fork of glob crate with some addition, it supports something like this: https://github.com/nushell/nushell/blob/main/crates/nu-glob/src/lib.rs#L870-L892
/// Configuration options to modify the behaviour of `Pattern::matches_with(..)`.
#[allow(missing_copy_implementations)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MatchOptions {
    /// Whether or not patterns should be matched in a case-sensitive manner.
    /// This currently only considers upper/lower case relationships between
    /// ASCII characters, but in future this might be extended to work with
    /// Unicode.
    pub case_sensitive: bool,

    /// Whether or not path-component separator characters (e.g. `/` on
    /// Posix) must be matched by a literal `/`, rather than by `*` or `?` or
    /// `[...]`.
    pub require_literal_separator: bool,

    /// Whether or not paths that contain components that start with a `.`
    /// will require that `.` appears literally in the pattern; `*`, `?`, `**`,
    /// or `[...]` will not match. This is useful because such files are
    /// conventionally considered hidden on Unix systems and it might be
    /// desirable to skip them when listing files.
    pub require_literal_leading_dot: bool,

    /// if given pattern contains `**`, this flag check if `**` matches hidden directory.
    /// For example: if true, `**` will match `.abcdef/ghi`.
    pub recursive_match_hidden_dir: bool,
}

Wax is capable of all the behaviors described in the example code. However, the design intentionally avoids exposing some of these behaviors as simple toggles controlled via the API, so some additional code may be required for your use case.
When matching a directory tree via Glob::walk, the Walk iterator allows calling code to control the traversal of the file system via filter_tree. Unlike toggles, this filtering is arbitrary and can be used to discard hidden files and/or directories. See this example for filter_tree in the API docs, which illustrates just that. I expect this to be a fairly common pattern, so I may introduce functions on Walk to make this kind of filtering easier to achieve. Note that this only applies to semantic matching (i.e., Glob::walk and friends) and not logical matching (i.e., Pattern::is_match).
Toggling case sensitivity via an API would prevent glob expressions from matching sub-text using different casing requirements. Instead, Wax uses flags for this. Every expression chooses how and where casing is handled. In the simplest instance, expressions simply begin with a flag, such as in (?i)**/insensitive.
Regarding literal separators, glob expressions are designed with consistent behavior in mind, especially for individual patterns. For this reason, the matching behavior of patterns is deliberately not configurable. Instead, glob expressions can match across component boundaries via tree wildcards ** and/or repetitions <...>.
Please let me know if there's a remaining feature that you think Wax should support or that you're unsure how to achieve using the current API.

Thanks for your detailed instruction, it seems I can work around this :-)
Close the issue for now:)


test: disable inflate test for performance temporary

Since it's triggered a bug in hw_ifl_perf() in block mode, disable it temporarily.

thanks Haojian, do we need to create an issue of the zip_sva_perf
+1


[Bug]: The service shuts down after the match/test lobby is started

Are you on the latest version?

[X] I'm on the latest version

Is there a fix in progress related to your proposal?

[x] I have searched the existing issues

Describe the bug
Yesterday everything just worked. But idk, maybe just because the new patch just came out today, when I try to start the match or test lobby, the service just shuts down.
Before starting the match/test lobby:

After starting the  match/test lobby:

It seems that this problem is due to the new patch, but everything is possible, maybe it is just because I doing something wrong.
Expected Behavior
No response
Dota 2 Patch
7.35d
Steps To Reproduce
No response
Anything else?

I tried to uninstall the service by using uninstall.windows.bat and reinstall it again by using install.windows.bat, but that didn't help.
By executing dota2-rpc-client.exe, the console pops up and disappears immediately in like 0.1 seconds.
Yesterday, I just downloaded and installed it, and the only issue was the language. It didn't change to my default "Russian" language.

I'll check this as soon as possible.
To open as console application, open the terminal and execute:
dota2-rpc-client.exe -f

Maybe this will show more information about the error.

I'll check this as soon as possible.
To open as console application, open the terminal and execute:
dota2-rpc-client.exe -f

Maybe this will show more information about the error.

### It seems like it is a bug, here is console output:

Thanks for the report, it seems to be something with the discord api.
As soon as I have more details I will let u know about this

Oh, about the auto language detection, the code tries to get the default locale of the system. But when fail, the automatically set as en-us.
But you can force to use your language inside config.json.

Got it, so I'll just wait for fix. Thanks a lot!

I'm still working on it!
For now I'm working on better thread management to communicate with discord and studying options for using an alternative version of the discord SDK

Still working on it


[Question] Is there an issue in firehose causing the change in commit.seq ?

Hi,
I noticed a significant change in the commit.seq.
For instance, the commit.seq (cursor) stopped increasing and remained at<PHONE_NUMBER> around 2024/11/21 11:00:00 PM GMT+0.
Additionally, commit.seq (cursor) appears to have decreased to  274452424 around 2024/11/22 02:00:00 GMT+0.
Could you kindly confirm if this behavior is expected or if there might be an issue?
Thanks :)

Hi, bsky team has some issue


Add version for Series and update tests and implementation to match c…

Fixes issue #170. I've used return when syntax - hope that's ok for Kotlin beginners!

Thank you!


[Improve][Connector-V2][JDBC] Refactor JDBC connector e2e test cases

sub-task of #3601

Please assign this issue to me, thx.

reopened

Because of #4165 , this issue will be closed.


Add SwiftHub by @khoren93

[ ] Project URL:
[ ] Update contents.json instead of README
[ ] One project per pull request
[ ] Screenshot included
[ ] Avoid iOS or open-source in description as it is assumed
[ ] Use this commit title format if applicable: Add app-name by @github-username
[ ] Use approved format for your entry

Thank you
Sent with GitHawk


scipy interface gives inconsistent solutions

With appended model the scipy interface declares the problem as infeasible even if all other interfaces find the correct optimal solution (0.874).
Reproduce:
Download the model in JSON
import json
import optlang

with open("textbook.json") as f:
    m = optlang.scipy_interface.Model.from_json(json.load(f))

m.optimize()

Hi
Thanks for the error report.
The problem is due to the scipy linprog function having a very small tolerance as default. The problem can't be solved by the function unless ALCD2x_reverse is allowed a value of ~1e-14.
I've added a tolerance option to scipy_interface.Model.configuration, and set the default value to 1e-9, which solves the problem.
Changing the tolerance to another value can be done by e.g. model.configuration.tolerance = 1e-6.

Thanks for the fix!

Closing because it has been merged and released.


fix #589 - allow pipe in constraint regexp

This PR fixes missing pipe ( | ) for the or operation in constraint expressions, reported in #589.
Signed-off-by: Chanwit Kaewkasi<EMAIL_ADDRESS>

Coverage decreased (-13.9%) to 39.36% when pulling 675c1f5af62c125fa399eccb52dd700ff0392b14 on chanwit:fix-589-constraint-regexp into ac4d776abbcaaa46575e2e0cfc5d8c455be8aed8 on docker:master.

@frntn could you please confirm that this fixes your issue.
ping @aluzzardi @vieux @abronan

Ok for me.
I have successfully build a new swarm binary with your repo/branch
No error messages at container deployment using pipe |
The constraint is applied as expected

Coverage decreased (-13.9%) to 39.36% when pulling 42c83bf63a9279bfbede311f37a9e6c0b060f71b on chanwit:fix-589-constraint-regexp into ac4d776abbcaaa46575e2e0cfc5d8c455be8aed8 on docker:master.

ping @abronan @aluzzardi

LGTM

I think this should probably be tested in unit tests rather than integration tests.
What do you think @chanwit ?

@aluzzardi I got both unit and integration tests in this PR.
Unit test is here: https://github.com/docker/swarm/pull/612/files#diff-6c36ccfba3d706f6271fe995f77ffa72R35
I am OK to remove the integration test.

Coverage remained the same at 39.36% when pulling 074b90c2a45baadd572950049cff765308d9b119 on chanwit:fix-589-constraint-regexp into 7c62291d47f994258a7d3fbb4308de0b68b258ec on docker:master.

Yep, but that only tests if it actually parses correctly, not if it works.
Although I agree that testing Go's regex library might not be useful :)
So LGTM


does anyone know how to solve this issue???

Chunker Version
1.4.1-main-6cce3ef
Input World Version
N/A
Output World Version
N/A
Platform / Operating System
win32-x64-10.0.22631
Issue Description
Error Displayed: Failed to open selected folder, please ensure you don't have it open anywhere else.

That error happens when Chunker is unable to open the folder because something else has it open. Ensure you're closing Minecraft and other tools before opening your world in Chunker.


Modify .gitignore file to ignore .idea folder and Android platform detection code

Add ignore folder .idea/*
Since android detection code is deprecated, and can't be found in offical documents, so a new way of detection android platform is needed.

experence of github is awsome, comments exits on the same commits!

Why is this request closed again? the android fix is not needed?


upgrade: docusaurusV2

Fixes: #[Add issue number here]
Changes:
upgrade: docusaurusV2
Screenshots of the change:

@guoqqqi Please have a try to review this PR.

@guoqqqi Please have a try to review this PR.

Hi  , The changes  which were committed with  the 1 st commit ,  are done  when running automated migration using CLI.

Hi  , The changes  which were committed with  the 1 st commit ,  are done  when running automated migration using CLI.

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

I see. It seems that these Markdown files are better migrated by hand

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

I see. It seems that these Markdown files are better migrated by hand

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

I see. It seems that these Markdown files are better migrated by hand

Cool.I will upgrade docusaurus 2 mannually and submit the PR ASAP.

Hi , The changes which were committed with the 1 st commit , are done when running automated migration using CLI.

I see. It seems that these Markdown files are better migrated by hand

Cool.I will upgrade docusaurus 2 mannually and submit the PR ASAP.


Eflow connectivity

We are doing some testing with Eflow and somehow Eflow go into a state where:
I try to ssh into the VM in powershell and got a"The authenticity of host '<IP_ADDRESS> (<IP_ADDRESS>)' can't be established.ECDSA key fingerprint is SHA256:XyRA7zu7SXgRR5hKs4S91qwlN2Cz/zIpHaYlDhNvoqs.
Are you sure you want to continue connecting (yes/no)?" prompt.   when using the Connect-EflowVm command.
We had been just using the Copy-EflowVmFIle powershell command to move some files into EFlow.
Any thoughts of what could cause this state? and what one should do about it?

@hooligan495,
Thanks for your question - Are you trying to establish an SSH session using the "Connect-EflowVm" cmmdlet? Also, are you doing that using the same user that installed the EFLOW VM?

yes we are using the Connect-EflowVm command and our file copies were dong using the new Copy-EflowVmFile command.
I have a .net program that is uysing the Powershell API to invoke the new commands to copy files and I am copying multiple files in parallel.   I'm wondering is it possible that I have to sequentially do the copy?

Hi @hooligan495,
Yes, I suspect that the parallel copy may be the problem. Can you try again using a fresh install of EFLOW and using sequential copy?

sequential copy seems better... but I need to do more testing I guess... Why shouldn't I be able to have multiple threads copying files at teh same time tho.?

@hooligan495,
We do not support parallels copying due to how we manage the SSH connection and the known_host file.  I will track an enhancement for our futures updates, in the meantime please use sequential copying.
Thanks,
Francisco


add more specific error type in ErrorHeaderKind

What is changed and how it works?

Issue Number: Close #14808
What's Changed:

Add more specific error type of raftstore error to metrics

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

No code

Side effects
Release note
None

/test

/merge


[MOB-56] APP - Create GitHubActions & Basic Setup

Basics steps

Code Review Agent Run Status

Limitations and other issues: ❌ Failure - Whoops! The AI Code Review Agent did not run because the provided PR is draft PR. Please contact<EMAIL_ADDRESS>to change this.


Improve error handling

A little background on these changes.
The current error handing is kind of broken (See the first set of screen shots.) There are many reasons for the really poor messages, but basically errors are propagating from web-worker thread to main thread via a DOM event called ErrorEvent. The information propagated is incomplete or irrelevant. And of course, important information about the real error is lost immediately.
These changes do several things.
First, the core library was enhanced (not really API breaking changes) to catch all errors (both evaluation and runtime errors), and correctly report the error back via the callback. This is NEW functionality, and may break applications that are catching the DOM ErrorEvent.
Second, the webRequire function was enhanced to catch evaluation errors (see the Function call), enhance the error with file name, and create a specific stack message with context. It actually works!
Third, the WEB UI was enhanced to handle the error message properly in the design state. As well as display the error message in a beautiful new format. :)
Forth, the were a few little bug fixes to the WEB UI to report parameter definition errors properly.
NOTE: This still isn't perfect, but improved in many ways.
All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

Syntax Error (single file)

Runtime Error (single file)

Syntax Error (project)
Parameter Definition Error

NEW AND IMPROVED!!!
Syntax Error (single file)
Runtime Error (single file)
Syntax Error (project)
Parameter Definition Error

Can you share some of the "bad" model code that generated those errors? That would be helpful for testing.
When I run this branch locally and give invalid jscad files, I very frequently see things like:

undefined: Uncaught Error: radius must be greater than zero

I'm not sure why it's prefixed with "undefined" but I see that in both chrome and firefox for various models (eg- cylinder({ radius: "bad" }))

@platypii nice catch. the MDN examples actually throw all kinds of objects, so i adjusted the code to create a message from the objects.toString(). That should suffice.


Marker click triggers way after the click, and most of the time nothing happens

Hi,
This happen on the 2.0.0 beta.
The issue is when I click on any marker, sometimes the click triggers way after, but most of the time nothing happens.
Here is the code I have going on:
map.addMarker({
  position: {lat: lat, lng: lng},
  icon: imageData,
  zIndex: zIndex,
  disableAutoPan: true
}, function (markerRef) {
  markerRef.on(plugin.google.maps.event.MARKER_CLICK, function () {
    alert("clicked");
  });
  markerRef.addEventListener(plugin.google.maps.event.MARKER_CLICK, function () {
    alert("clicked");
  });
});

I know I have two ways of adding the click event, just showing each way I tried.
Am I doing something wrong?
Thanks,
Shane.

Please provide example apk file

I'll create an example and get back to you.

So I solved my original issue while creating the example APK. I had many markers next to each other, and the clickable markers had a lower zIndex then the non-clickable markers. I have no idea how I overlooked that when reviewing the issue. Sorry about that, I know your busy. Once I got all that figured out. I noticed that when you click a marker, the onClick event gets triggered, and if you click the same marker again without clicking anywhere else on the map, the onClick event will not trigger. Any suggestions on how to make a markers onClick event trigger every click, regardless of it was clicked last?

The plugin v2.0 supports the zIndex property for both Android and iOS.
https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/cf5c0b5e8d338e436bc434d00f55ac0bf581f310/src/android/plugin/google/maps/PluginMarker.java#L137-L139
And event listener is thin wrapper of native javascript event listener.
The plugin does not block anything.

My issue ended up being I had markers without click events next to markers with click events. This resulted in the markers with no click events being the ones sometimes clicked, which caused the markers with click events in the same location to not have its click event triggered. Thanks for your time. Keep up the good work!


Using x-auth-security to connect Web Socket Stomp with x-auth-token

Hello, I'm trying to make authentication based on your x-auth-token, but adapted for web-socket
For rest url, I'm authentificated and evrything work fine, but not for websocket.
Error is due to Filter seem to not recognize stomp header.
I try to connect via javascript.
stompClient.connect({'x-auth-token':myAuthToken }, function(frame) {
});
Is there anyway to filter or to add channelInterceptor on the websocket connection and to add the same validateToken method?
Thanks a lot.

Same Issue...It their any solution for this.

me too Same Issue :(

Is this still valid?

Is this still valid?


uv venv overwrites existing virtual environment on subsequent run

Current behaviour: subsequent runs of uv venv overwrite the existing virtual environment.
Suggested behaviour: How about adding a prompt like "the virtual env is already created, confirm to recreate from scratch".

Thanks for the report, related https://github.com/astral-sh/uv/issues/1274

I don't think we should delete them by default cc @charliermarsh

For reference, the upstream virtualenv has a --clear flag, and when that's not set it will update the virtual environment and the seeded packages, but without touching anything else. This way, running without a --clear is essentially a repair option.

So, what do you think on the UX of this command? For me it also seems unintuitive when I am using uv venv and the existing env is overwritten with an empty one.
I propose a simple thing, like adding a --clear flag for uv venv command. if there is an existing venv and the flag is not set, then we simply do nothing. In other cases preserve the old behaviour. What do you think?

if there is an existing venv and the flag is not set, then we simply do nothing.

I'd imagine a better UX would be to fail hard and loud.

+1 on "fail hard and loud" to avoid ambiguity - but then I believe uv venv should support both "force keep" and "force clean" workflows. F.x. I have been happily using python -m venv for the last few years somewhat like this:
#  run `source ./project.sh` to get the project and environment for it up and running
export SOMETHING=something
python -m venv
source ./venv/bin/activate
python -m pip install -e .[dev]

, keeping the project and its deps in sync - but not wiping any additional tools if I have put there for some experiments. Yet I can easily imagine that one would like to wipe the existing venv instead.

uv venv --allow-existing provides the desired behavior - don't recreate the venv every time.
Perhaps the question is whether the sense of the default should be inverted i.e. update existing by default, only replace if --clear is specified.

I find it very unusual for a cli tool to overwrite and existing directory by default, without warning or prompting.
Now I have learned this is the intended behavior, but the number of people reporting being confused by this suggests that some UI change would be helpful.

I don't love the existing behavior, but, for what it's worth, this issue has about three upvotes and we see an order of magnitude more than that on issues that many people encounter.

+100 on "fail hard and loud". Just lost a bunch of files because of this.
uv mimics pip's behaviour in many places, but not here -- where damage can be done really easily? python -m venv leaves any existing files in place (which are not part of the venv-local python).
I mean: what's the win in the current behaviour? Spare one rm -rf *?
uv is no doubt a brilliant tool and I love it. But PLEASE change this.

+10000 on fail hard and loud.
Because of this I accidentally grenaded my entire home assistant installation. Now my smart home is borderline useless. No heat, no lights, nothing; I have my whole house in there.
Yes I have backups, but I have to retrieve them and restoring them isn't an immediate process - meanwhile my baby is crying, my wife's pissed, the list goes on.
I've been a Linux engineer for close to a decade, in some high caliber environments - and I think I can count on one hand the times where I used a tool, with only one or two arguments, copied and pasted from the --help usage message, that automatically assumed that I wanted to completely blow away everything in the current directory, and was so confident in it, that it didn't even give me a simple "You sure? [y/N]" .
Maybe I just wanted to share my story, or just vent.. but damn man this one hurt.

@kmalinich -- Hey -- regardless of what decision we make here, just wanted to say that I can feel your frustration coming through and I'm really sorry that you ran into this in such a critical path. A lot for us to consider in your message.

@charliermarsh -- I want you to know that your words meant a lot to me. Thank you. I'm all back up and running here, and I've calmed down a fair bit. Sorry about that, that was some pretty explosive messaging on my part.
uv is an awesome tool, and I totally understand that I'm not using it in a way that matches a majority of its users, and that's a big part of what led to my situation occurring. Totally my fault.
Anyways, thanks again for the kind words. It's nice to .. just be heard, sometimes.

I'm down to change this in 0.5.0 — but we'll need to discuss this as a team and figure out if there's consensus on a new ux.

Adding this to the 0.6.0 milestone so we consider it in the next breaking release.


CloudShell is having .net framework 7.x.x

Describe the bug
All the installation scripts is enforcing to have 6.x.x version where as cloud shell is having 7.x.x version and is breaking the installation. How do you get around this ?
dotnet --info result:
.NET SDK:
Version:   7.0.408
Commit:    03a0111c2e
Runtime Environment:
OS Name:     mariner
OS Version:  2.0
OS Platform: Linux
RID:         linux-x64
Base Path:   /usr/share/dotnet/sdk/7.0.408/
Host:
Version:      8.0.4
Architecture: x64
Commit:       2d7eea2529
.NET SDKs installed:
7.0.408 [/usr/share/dotnet/sdk]

@sb-armada are you using the complete installation script outlined hereas is? This should address the installation of dotnet 6 and global.json in the repo will have cli to use dotnet 6

@santhoshb-msft  - Yes, I'm using as-is. .Net 6 installation fails/aborts since .net 7 installation exists. Did you happen to try it out with latest Azure cloud shell and it works ?

@santhoshb-msft  - any update on trying out on Azure cloud shell ? Thanks.

Hi @sb-armada to your ealier q, we do deployments on cloudshell almost every day. are you using powershell or bash?

Yes, it is with powershell - please see the image below.

@sb-armada
hi,
Maybe you have to kill the cloud shell terminal first and then run the command again, I tried today and can deploy successful.
My first issue is I did not specific version of dotnet so they installed version 7 for me, then I kill terminal and open again with this... (might help)
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh; `
chmod +x dotnet-install.sh; `
./dotnet-install.sh -version 6.0.417; `
$ENV:PATH="$HOME/.dotnet:$ENV:PATH"; `
dotnet tool install --global dotnet-ef --version 6.0.1; `
git clone https://github.com/Azure/Commercial-Marketplace-SaaS-Accelerator.git -b 7.6.2 --depth 1; `
cd ./Commercial-Marketplace-SaaS-Accelerator/deployment; `
.\Deploy.ps1 `
 -WebAppNamePrefix "{{UNIQUE-NAME}}" `
 -PublisherAdminUsers<EMAIL_ADDRESS>`
 -Location "Japan East"

@sb-armada just checking if the above instructions helped with successful installation?


What alternatives to libsimdpp are there?

To understand the pros and cons of a software library, it can be good to compare it to the
alternatives that exist.
I found for instance this:
https://github.com/VcDevel/Vc
If anyone has compared libsimdpp to other SIMD wrapper template libraries (C++), I would be interested to hear your opinion.

I haven't seen a extensive comparison of SIMD wrappers anywhere. This page at libvolk is pretty good list of libraries, though you've probably already seen it and it's perhaps not exactly what you're looking for.
To my knowledge there's no other open-source SIMD wrappers that provide as extensive instruction set coverage as libsimdpp. For example, no library known to me supports either of AVX512F, VMX/VSX or MSA instruction sets. Of course, this might be biased opinion, please correct me if this looks wrong.


Dev

Just realised today that by feeding the a buffer to the dma in circular mode directly, this buffer will not be static. I have therefore allocated a new dma buffer that is created when you call start_dma and is freed when you stop_dma. This allows you to have a static buffer in micropython.

Actually this is a bit broken at the moment, going to need to do a bit of reworking of this.


ERROR OF THE 1.8.0 (1.43) version

Thanks!!

I'm not sure why you created this issue. The solution is in your screenshot https://github.com/pixeltris/YgoMaster/blob/master/Docs/FileLoadError.md


JDK 21, lusearch, and Lucene "regression"

Wanted to report a "problem" with current lusearch benchmark in 23.11-chopin, which so far looks like the issue in Lucene support for JDK preview features. In short, running with different JDKs shows that lusearch is substantially slower with JDK 21.
Running self-built JDKs on Graviton 3 instance with:
% shipilev-jdk/build/linux-aarch64-server-release/images/jdk/bin/java -jar dacapo-23.11-chopin.jar lusearch -n 20

...yields these results:
JDK 17-dev: 1584 msec
JDK 21-dev: 2446 msec (!!!)
JDK 22+0:   2455 msec (!!!)
JDK 22+1:   1527 msec
JDK 23-dev: 1519 msec

Bisection shows that the "regression" starts in JDK 19 with: 8282191: Implementation of Foreign Function & Memory API (Preview). We cannot run JDK 19 prior that changeset: Lucene fails with NCDFE trying to access MemorySegment. We suspect that Lucene is opting in some FFM preview features, which are slower than what it used before. Mainline JDK is fast again, but only after JDK starts to identify itself as JDK 22: https://github.com/openjdk/jdk/commit/5a706fb403df0768ecef5b0ce14a3ca389a51efd
I suspect that Lucene that ships with 23.11-chopin actually wants JDK 22 to perform well, and the intermediate version that opts-in to JDK 19 preview features is actually slower on this test.
@ChrisHegarty, is there something we can do here? Maybe there is a feature flag that switches what Lucene is using? Maybe Dacapo should update the Lucene to some other version?

What version of Lucene are you using? It seems that the MemorySegment backed mmap directory is being used by default. You can disable it by setting the following system property:
-Dorg.apache.lucene.store.MMapDirectory.enableMemorySegments=false.
I'm surprised that using the MemorySegment backed mmap directory cases a perf regression. This is not what we see in our tests.

We're using 9.7.0 in the Chopin release.

Yes, I can confirm that we can see the same slowdown in our setup. 2845ms in Temurin 11 (0.74% 95CI), 2825ms in Temurin 17 (0.74% 95CI), and 3238ms (1% 95CI)

Setting the -Dorg.apache.lucene.store.MMapDirectory.enableMemorySegments=false flag indeed improves the performance on Temurin 21. It's now on par with 17 and 11.

I just want to confirm that this problem persists with Lucene 9.10.
@ChrisHegarty is this what you expect?
I'm preparing for an upcoming release, but given what I saw with 9.10, I am now wondering whether I should be turning the flag off by default.   My (strong) preference is to have Lucene run "as-is".  But I'd also rather not ship the suite with a known major performance regression (I regret that I did not see this when I made the recent release).
@shipilev do you have thoughts on this?

@shipilev do you have thoughts on this?

It sounds to me that there is a problem with Lucene and JDK 21, which Dacapo correctly caught. (Pats the benchmark on its back.) And JDK 21 is de-facto LTS release, which would be around for years to come. So I think this problem should be fixed in Lucene, and then Dacapo should update with new version of Lucene. If there is no good version for Lucene that solves the issue with JDK 21, Dacapo should not be forced to do anything to work around performance bugs.

@ChrisHegarty is this what you expect?

We run Lucene 9.10 with JDK 21 in many scenarios WITHOUT issue. Whatever it is that you're encountering, it is not an obvious or known issue with Lucene 9.10 and JDK 21. Can you please try to determine where the performance difference is, and why enableMemorySegments=false would have any affect on it.

I can confirm that the issue appears to have been introduced in 9.7.  It is not evident in 9.6 or earlier.
I'll look into this further tomorrow.

This seems to be the culprit:  https://github.com/apache/lucene/pull/12294
The next question is why we're seeing the issue and you're not.

Running with -Xint and profiling using VisualVM shows the full stack with and without enableMemorySegments.
This is not apparent from the above perf output since most of the methods are inline into LZ4.decompress.

So I think we learnt the following:

Bulk of DaCapo's query threads' time is spent on LZ4.decompress, which heavily exercise IndexInput's various read* methods.
The MemorySegment implementation of IndexInput seems to be inefficient on older JDKs, especially with more mutator threads (running DaCapo with -t 1 or -t 32 shows very different result with and without enableMemorySegments)

I wonder whether this fixes the issue on newer JDKs https://github.com/openjdk/jdk/commit/159465324fc45325d0df438991032ebca9229ca2

Thanks @caizixian
@ChrisHegarty this seems fairly clear now.
In short, enabling memory segments does not play nicely with JDK 21 (as @shipilev said), and we now have a profile that shows why this is so.
As @caizixian says, from all the testing we did, you will see this if you have an intense workload with a fair amount of parallelism (I saw 2X slowdown with 24 threads, but none when running single-threaded).
I am not sure why this did not show up in your testing.
Given what we know about the pathologies of JDK 21 and the data here, I wonder if it would be better for MemorySegmentIndexInput to be disabled for JDK 21.  If so, my plan for DaCapo would be to include that change in the upcoming release.  If not, perhaps my best option would be to downgrade to 9.6 for the upcoming release.

I think that the results of -Xint are not that useful, because perf using MemorySegments and VarHandles rely heavily on the JVM being able to eliminate (or otherwise hoist, or ...) various checks.
Can you please check with the most recent JDK, say JDK 21.0.2 and/or JDK 22.0.1? Preferably or as well as the Oracle GPL binaries. e.g. https://jdk.java.net/21/, https://jdk.java.net/22/

I think that the results of -Xint are not that useful

We were running with -Xint only to show the full call hierarchy that leads to the MemeorySegment backed IndexInput.
The performance different is clearly visible when running with default parameters, and the relevant symbols can be seen using perf
We were running 21.0.2.
openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)

I just tested with Oracle commercial binary of JDK 21 and it gave the same performance result, so it's not a OpenJDK/Temurin specific problem.
java version "21.0.3" 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 21.0.3+7-LTS-152)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.3+7-LTS-152, mixed mode, sharing)

Lucene 9.7 + JDK 22 doesn't produce the performance pathology because the MemorySegment IndexInput is guarded for java19~21 https://github.com/apache/lucene/tree/releases/lucene/9.7.0/lucene/core/src/java21/org/apache/lucene

We can reproduce the performance pathology using Lucene 2.10 + JDK 22, where MemorySegment IndexInput is enabled for JDK 22 as well per https://github.com/apache/lucene/pull/12706

@ChrisHegarty

Can you please check with the most recent JDK

Here are the times in msec for five of JDKs I happen to have at hand:

Family
Build
9.6
9.7
9.8
9.9
9.10

Corretto
17.0.8+7-LTS
3562
3694
3517
3508
3508

Corretto
21+35-LTS
3474
6371
6227
6183
6065

Oracle
21.0.3+7-LTS-152
3387
6229
6133
6300
6318

Corretto
21.0.3+9-LTS
3398
6221
5959
5985
6177

Corretto
22+36-FR
3401
3550
3395
3378
6183

Run as: java -jar dacapo-evaluation-git-d348bbe0.jar lusearch -n 20, with five builds, the first four of each have a single line change to libs.xml to change Lucene version from 9.10, which is what d348bbe0 is using.
As @caizixian mentioned above, the problem manifests in 22 also, which I had not noticed.
Here's the same analysis, now using just Lucene 9.10 and toggling enableMemorySegments:

Family
Build
false
true

Corretto
17.0.8+7-LTS
3611
3522

Corretto
21+35-LTS
3352
6392

Oracle
21.0.3+7-LTS-152
3354
6075

Corretto
21.0.3+9-LTS
3387
6185

Corretto
22+36-FR
3440
6411

Run as: java -Dorg.apache.lucene.store.MMapDirectory.enableMemorySegments=<value> -jar dacapo-evaluation-git-d348bbe0.jar lusearch -n 20, using the default level of parallelism (which is the available level hardware parallelism; 24 in this case).

I think that the results of -Xint are not that useful

@caizixian only used -Xint to expose the calling context.
My profile results in the post above @caizixian's pointed to MemorySegmentIndexInput but did not have the calling context since I was not using -Xint.  He used the interpreter to provide you with that info.  Although the interpreter is obviously problematic in general, the results align with the profile from the run without -Xint and are consistent with all of the other evidence, so I think they're helpful.

For awareness I filed the following Lucene issue to help track and investigate this, https://github.com/apache/lucene/issues/13325

@shipilev do you have thoughts on this?

It sounds to me that there is a problem with Lucene and JDK 21, which Dacapo correctly caught. (Pats the benchmark on its back.)

+1, thank you for running these benchmarks -- it's awesome and vital when they catch otherwise missed performance regressions.  It's spooky this regression made it this far without detection!  It's like a neutrino.  We need to improve our detectors.
We need to understand why Lucene's own nightly benchmarks failed to detect this too ... I've opened https://github.com/mikemccand/luceneutil/issues/267 to get to the bottom of that.

Hi, after studying the benchmark I think I found the issue: Looks like Wrong use of Lucene APIs
What happens:

Look at the search thread: https://github.com/dacapobench/dacapobench/blob/2ae32dc0794a17d20cf6593542ca29c72bb2c488/benchmarks/bms/lusearch/src/org/dacapo/lusearch/Search.java#L193-L205: It runs each batch of queries in a new QueryProcessor instance. Depending on the size of batches it may open a new IndexReader quite often (on same index!?)
Look at QueryProcessor: https://github.com/dacapobench/dacapobench/blob/2ae32dc0794a17d20cf6593542ca29c72bb2c488/benchmarks/bms/lusearch/src/org/dacapo/lusearch/Search.java#L222-L243: It opens a new IndexSearcher before each query batch and closes it after the query batch. The close() is the bad thing in multithreaded environments:

The problem now is the following: Due to all the time closing the indexes, the JVM goes into a safepoint to do thread local handshakes, all other threads need to stop and (due to safepoint) to ensure other threads do not access the memory unmapped.
I think the whole benachmark should be fixed to only open a single IndexSearcher and execute all threads in parallel on this single instance, which is closed at end.
The usage of Lucene as done in the benchmark is not real-life. This is why Lucene does not see the issue in its own benchamrks.
The slowdown comes from the fact that MemorySegments allow to safely unmap mmaped files with the cost of extra safepoints on the IndexReader#close call. This leads to the fact that the heavily used methods may stop in safepoints and deoptimize all the time. @shipilev may explain this better: When you close an IndexReader in Lucene we close all shared MemorySegments causing a thread-local handshake.

I wonder whether this fixes the issue on newer JDKs openjdk/jdk@1594653

You gave the correct hint here. This won't fix it, the problem will still exist. Don't close IndexReader all the time as it causes a stop of all (possibly unrelated threads).

Can you rewrite the benchmark code to open the IndexReader/IndexSearcher in the main thread once, then spawn all threads and then close the Index at end before the benchmark exits?
If this restores perf, then its verified that the thread-local handshakes are the problem for this code.
Anyways: The ByteBuffer code is risky as it may crash the JVM with SIGSEGV because we use sun.misc.Unsafe to unmap all bytebuffers. If there are threads executing queries at same time they will SIGSEGV.
So with the additional safety we buy a more expensive close() but that's they only way to go. Lucene main brahc (Java 21) no longer uses ByteBuffers and switched to MemorySegment completely.
It has also nothing to do with Preview features. The slowdown is by design.

See also Talk of @mcimadamore at FOSDEM 2024, slide 13 ("Arena-based memory management"):

Strong safety guarantee: no use-after-free
• When the arena is closed, all its segments are invalidated, atomically
• Closing a shared arena triggers a thread-local handshake (JEP 312)

Also: https://github.com/openjdk/panama-foreign/blob/foreign-memaccess%2Babi/doc/panama_memaccess.md

(1): Shared arenas rely on VM thread-local handshakes (JEP 312) to implement lock-free, safe, shared memory access; that is, when it comes to memory access, there should be no difference in performance between a shared segment and a confined segment. On the other hand, Arena::close might be slower on shared arenas than on confined ones.

I hope this helps for understanding. You have to add that the hadshake not only make the close slower, it also affects other threads using MemorySegment.

The slowdown comes from the fact that MemorySegments allow to safely unmap mmaped files with the cost of extra safepoints on the IndexReader#close call. This leads to the fact that the heavily used methods may stop in safepoints and deoptimize all the time. @shipilev may explain this better: When you close an IndexReader in Lucene we close all shared MemorySegments causing a thread-local handshake.

Thanks for that.   That code is old.  AFAIK when we originally wrote the workload, it was based on a Lucene performance benchmark.
I will investigate re-writing to address this pathology.

I made the minimal change suggested by @uschindler of lifting the construction of the IndexReader and IndexSearcher outside the loop nest (so a single instance, shared across all threads, across all batches).   As he suggested, this completely addresses the problem.
We see a substantial performance win and the sensitivity to enableMemorySegments has gone.
Here's a quick and rough performance analysis:

Family
Build
d348bbe0 true
d348bbe0 false
21b653dc true
21b653dc false

Corretto
17.0.8+7-LTS
3710
3621
2673
2448

Corretto
21+35-LTS
6392
3547
2455
2399

Oracle
21.0.3+7-LTS-152
6214
3562
2274
2356

Corretto
21.0.3+9-LTS
6371
3550
2372
2326

Corretto
22+36-FR
6416
3455
2223
2325

Thanks @uschindler for identifying cause of the problem and to @shipilev for spotting the issue in the first place.

Deoptimization indeed seems to be the problem. Running JDK 21 with -t 1, the deopt log looks similar with and without MemorySegment. But if we use MemorySegment and have more than one thread, the log is filled with deopt such as the below
DEOPT UNPACKING thread=0x00007fa13c2d4ae0 vframeArray=0x00007f9fb0030fc0 mode=0
   Virtual frames (outermost/oldest first):
DEOPT UNPACKING thread=0x00007fa13c2db830 vframeArray=0x00007f9f980795c0 mode=0
   Virtual frames (outermost/oldest first):
      VFrame 4 (0x00007f9fb0032408) - org.apache.lucene.search.TopScoreDocCollector.create(ILorg/apache/lucene/search/ScoreDoc;Lorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)Lorg/apache/lucene/search/TopScoreDocCollector; - invokespecial @ bci=39 sp=0x00007fa0ad2e1660
      VFrame 1 (0x00007f9fcc05f368) - org.apache.lucene.codecs.lucene90.LZ4WithPresetDictCompressionMode$LZ4WithPresetDictDecompressor.decompress(Lorg/apache/lucene/store/DataInput;IIILorg/apache/lucene/util/BytesRef;)V - invokestatic @ bci=265 sp=0x00007fa0ad7e63c8
      VFrame 0 (0x00007fa00402e228) - org.apache.lucene.codecs.lucene90.blocktree.SegmentTermsEnum.postings(Lorg/apache/lucene/index/PostingsEnum;I)Lorg/apache/lucene/index/PostingsEnum; - invokevirtual @ bci=54 sp=0x00007fa0ae5f4620

DEOPT UNPACKING thread=0x00007fa13c2d80c0 vframeArray=0x00007f9fac07c1e0 mode=0
   Virtual frames (outermost/oldest first):
      VFrame 1 (0x00007f9fac07d508) - org.apache.lucene.codecs.lucene90.LZ4WithPresetDictCompressionMode$LZ4WithPresetDictDecompressor.decompress(Lorg/apache/lucene/store/DataInput;IIILorg/apache/lucene/util/BytesRef;)V - invokestatic @ bci=265 sp=0x00007fa0acfde3c8
      VFrame 3 (0x00007f9fb00323a8) - org.apache.lucene.search.TopScoreDocCollector$SimpleTopScoreDocCollector.<init>(ILorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)V - invokespecial @ bci=4 sp=0x00007fa0ad2e15e8
      VFrame 0 (0x00007f9fcc05f308) - org.apache.lucene.util.compress.LZ4.decompress(Lorg/apache/lucene/store/DataInput;I[BI)I - if_icmplt @ bci=245 sp=0x00007fa0ad7e6360

      VFrame 0 (0x00007f9f9807a888) - org.apache.lucene.codecs.lucene90.blocktree.SegmentTermsEnumFrame.scanToTermLeaf(Lorg/apache/lucene/util/BytesRef;Z)Lorg/apache/lucene/index/TermsEnum$SeekStatus; - if_icmplt @ bci=226 sp=0x00007fa0accdb4f8

      VFrame 2 (0x00007f9fb0032348) - org.apache.lucene.search.TopScoreDocCollector.<init>(ILorg/apache/lucene/search/HitsThresholdChecker;Lorg/apache/lucene/search/MaxScoreAccumulator;)V - invokespecial @ bci=7 sp=0x00007fa0ad2e1568
      VFrame 0 (0x00007f9fd00697e8) - org.apache.lucene.codecs.lucene90.compressing.StoredFieldsInts.readInts8(Lorg/apache/lucene/store/IndexInput;I[JI)V - goto @ bci=204 sp=0x00007fa0adae9398

      VFrame 1 (0x00007f9fb00322e8) - org.apache.lucene.search.HitQueue.<init>(IZ)V - invokespecial @ bci=8 sp=0x00007fa0ad2e14d8
      VFrame 0 (0x00007f9fb0032288) - org.apache.lucene.util.PriorityQueue.<init>(ILjava/util/function/Supplier;)V - goto @ bci=118 sp=0x00007fa0ad2e1480

      VFrame 0 (0x00007f9fac07d4a8) - org.apache.lucene.util.compress.LZ4.decompress(Lorg/apache/lucene/store/DataInput;I[BI)I - if_icmplt @ bci=245 sp=0x00007fa0acfde360

LogCompilation log looks like
<deoptimized thread='664511' reason='constraint' pc='0x00007f4f0857bff4' compile_id='2446' compiler='c2' level='4'>
<jvms bci='245' method='org.apache.lucene.util.compress.LZ4 decompress (Lorg/apache/lucene/store/DataInput;I[BI)I' bytes='250' count='1537' backedge_count='180079' iicount='1537'/>
</deoptimized>

The innermost frames would be more interesting.

One question: what CPU architecture did you benchmark on? Because cheap thread-local-handshakes are only available on x86-64 and SPARC (see JEP 312), on all other platforms it uses safepoints. So it would be good to know which platform.

Looks like AARCH64 also has thread-local handshakes: https://bugs.openjdk.org/browse/JDK-8189596

@shipilev used aarch64 (Graviton 3) and I used x86_64 (Ryzen 9 7950X).

Merged


feat: node -> go interfaces under node controllers dir

node->go
The interfaces under router.ts is migrated and be tested by postman.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Maybe you can add code check for it.
Here is an examples:
https://github.com/vesoft-inc/nebula-dashboard-ent/blob/master/backend/Makefile


Respect -p command line option

https://github.com/roblox-ts/roblox-ts/blob/1b9177e6e74f8b4f02ee3423fb16900ab7d720e1/src/CLI/commands/build.ts#L31

https://github.com/rbxts-flamework/transformer/commit/c3b7bb1601c32fca69469204bd2bbff859137f4d


Feature/python3

A few more checks in the starring to hopefully reduce amount of inconsistent test failures
Mention the pip requirements file that people should get and install from
Mention that people should check their pip deps to see if it matches the pip requirements file
For ga4gh/dockstore#1242

Codecov Report

Merging #275 into develop will increase coverage by 0.19%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #275      +/-   ##
===========================================
+ Coverage    62.63%   62.82%   +0.19%
===========================================
  Files          118      119       +1
  Lines         3594     3879     +285
  Branches       400      529     +129
===========================================
+ Hits          2251     2437     +186
- Misses        1244     1320      +76
- Partials        99      122      +23

Impacted Files
Coverage Δ

...g/downloadcliclient/downloadcliclient.component.ts
93.33% <100%> (-0.22%)
:arrow_down:

src/app/banner/banner.component.ts
76.19% <0%> (-23.81%)
:arrow_down:

src/app/navbar/navbar.component.ts
88.88% <0%> (-11.12%)
:arrow_down:

...c/app/container/dockerfile/dockerfile.component.ts
50% <0%> (-4.77%)
:arrow_down:

src/app/shared/file.service.ts
27.65% <0%> (-3.6%)
:arrow_down:

...app/container/descriptors/descriptors.component.ts
73.07% <0%> (-0.61%)
:arrow_down:

src/app/shared/track-login.service.ts
50% <0%> (ø)
:arrow_up:

src/app/shared/logout.service.ts
53.84% <0%> (ø)
:arrow_up:

src/app/metadata/metadata.service.ts
100% <0%> (ø)

...-workflow-modal/register-workflow-modal.service.ts
88.75% <0%> (+0.22%)
:arrow_up:

... and 10 more

Continue to review full report at Codecov.

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


Feature request: Store uploader email in bundle json

Hi, it would be useful to store the uploader email in the bundle json file.

@remie @steiniks
I'm looking for something like this as well.
How to store extra data in the .json and binary file - that are created and put into the uploads folder when you drop a file into the 'drop file' section at the webpage
I have been looking at this section and the upload method as well.
And I have tried to add and change the context of 'context' but nothing happens


Issue with /docs/getting-started-guides/docker-multinode/

After cloning this repo, it does not contain any folder named "docker-multinode" and I am not able to find master.sh script inside the repo.
I am following this guide.

@Awdhoot Thanks for opening this issue. It looks like the contents of kubernetes/kube-deploy have changed and the docs are stale.
@jaredbhatti 👋 Do you know who the maintainer of kube-deploy is? It would be good to get their input here.
For docs: this issue looks like it will require some investigation, but it still looks actionable.


Suggestion for prefix for debugOutput()

Android, among other platforms, have really chatty output which makes it difficult to locate debugOutput from bx.
Suggest adding BX_CONFIG_DEBUG_TAG to add a custom prefix, e.g. Android this would be:
__android_log_write(ANDROID_LOG_DEBUG, BX_CONFIG_DEBUG_TAG, _out);
Other platforms it could be a simple string prefix.

https://github.com/bkaradzic/bx/pull/71 adds BX_CONFIG_DEBUG_TAG that allows custom tags, e.g. use the same tag as your app to filter and display logging with your app.

I had trouble without the BX_STRINGIZE as the ndk-build pipeline didn't honor the quotes (clang 3.5 compiler).
With latest and 2x double quotes:
LOCAL_CPPFLAGS +=  -std=c++11 -DBX_ANDROID_LOG_TAG=""Slots""  -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS -DBGFX_CONFIG_MULTITHREADED=0 -DBGFX_CONFIG_DEBUG=1
:#define BX_ANDROID_LOG_TAG Slots8
:28                           ^:
note#define BX_ANDROID_LOG_TAG Slots:
expanded                           ^
from here
#define BX_ANDROID_LOG_TAG Slots
and 1x double quotes:
LOCAL_CPPFLAGS +=  -std=c++11 -DBX_ANDROID_LOG_TAG="Slots"  -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS -DBGFX_CONFIG_MULTITHREADED=0 -DBGFX_CONFIG_DEBUG=1
:8:28: note: expanded from here
#define BX_ANDROID_LOG_TAG Slots

What about escaping them? \"Slots\"

For anyone else using cmake as build use a lot of escaping, e.g.
add_definitions(-DBX_ANDROID_LOG_TAG="\\"MYTAG\\"")


Subscribe to multiple plans

In my application, users will be able to subscribe to any number of plans. The plans may start and end in different times. I could not find any option in the current version of the package. Can you please suggest me, how can i do that?

Hello, Nasir! Thanks for opening this issue! I'm currently working on this feature, it might be published on the next release, but it is a considerable refactor work. I hope to see you here when it is done. 🚀


Question: how to include key combinations in the keyword section

Not a bug report or feature request.
Thanks for such a great open source tool!
How does one include key combinations in the keyword section?
For example alt-5 to trigger a specific snippet?
Thank you

Hi @low-decarie
This is not supported yet. It is an often requested feature so it might appear in a future release. But I cannot commit to any ETA.

Did some test. The way the application work it is not going to work reliably. Closing.


Question regarding PILE Dataset Loading

Hi, thank you so much for releasing code for this great work! I have 3 questions as follows:
(1) The data preparation script seems to process the whole PILE dataset into a single file, and the program seems to load it at once into memory for training. I am wondering if this poses a challenge to servers with a relatively small RAM.
(2) If we cannot fit PILE into memory at once, I am wondering if we need to manually shuffle PILE before tokenizing it, since streaming from disk is sequential (cannot work with DistributedSampler) ?
(3) Besides, for distributed training, I am wondering if it's better to divide PILE into multiple partitions and let each node read from some particular ones. Are there any references for this practice?
Thank you very much for your time and help!

The dataset is loaded using mmap so it actually stays on disk. Whenever a block is accessed, that block is fetched from disk to memory.

Thank you for your kind reply. I am also wondering could DistributedSampler lead to incontiguous read of the mmap dataset, which could be slow. If that is the case, it is better to pre-shuffle the entire dataset after tokinization, and then read it sequentially.

It's been fine for me, but you can try if it's slow.

I see. Thank you very much for your time and help!


Report

Include some basic metrics, such as:

Total invested
Plot investments
Assets:

Quantity
Invested
Currency

Do structure using jupyter notebook and jupytext. Call nbconvert to transform it into HTML.


Proxy / Censor block access feature?

I'm from Russia, and Twitter is blocked by Roskomnadzor, and we don't have access without VPN.
If that possible, can ModernDock have in-build proxy settings (or something called FuckDPI) feature?

Hi, I actually already planned on adding proper support for proxies in ModernDeck 10, so I'll be working on this ASAP. I'll let you know whenever a build with proper proxy support is available.

Thanks for the suggestion, I've implemented this now and it'll show up in the next 10.0 beta.
I will note for when it is out that at the moment you need to go to Settings to configure this, but you need an active connection in order to enter settings. However, ModernDeck already respects the system proxy so if you set a whole-system proxy it will be able to launch and you can specify one just for ModernDeck and then change it back. At some point I might try to add proxy settings to the connection error screen, but this'll take a lot more effort.

You can use a list of proxy servers (http, https, socks4, socks5 all work) or a PAC script.


feat: add support for VisionOS download

Closes #299
Adds support for proper parsing of com.apple.platform.xros - ie: VisionOS. 🥽
With this change you can usexcodes runtimes install "visionOS 1.0-beta1"

@MattKiazyk Does InstalledRuntime.Platform also need to be updated to handle visionOS?


the database is hosted on google, persistent and set up with protected Github secrets

successful testing in google cloud by verifying database with pgAdmin

Gets tested by the various integration tests, e.g., by createQuestion_success in QuestionServiceIntegrationTest, implemented with commit b5ad733e97928adcb3b783c4084bb7a84c6c933b


fix: retag images for app-sre pipeline

This commit introduces a build_deploy.sh script that triggers the boilerplate
build, retags the image and pushes the image with a new tag.
Additional Context:
I had a short meeting with @NautiluX  and @maorfr today and we came to the conclusion that the best way to move forward is to use an IMAGE_TAG instead of the IMAGE_DIGEST. To achieve this, we have decided that we add a small wrapper script around the boilerplate code that just retags the image and pushes the same image with a new tag to quay.
This way we can satisfy the app-sre pipeline without changing the boilerplate. If this works well and we have more projects like CAD in the future, we may think about adding the behavior to boilerplate

@maorfr  I wonder if we can just include this into the project.mk file:
IMAGE_REGISTRY?=quay.io
IMAGE_REPOSITORY?=app-sre
IMAGE_NAME?=configuration-anomaly-detection
DOCKERFILE?=./Dockerfile
define ADDITIONAL_IMAGE_SPECS
Dockerfile $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(IMAGE_NAME):$(CURRENT_COMMIT)
endef

This way I don't need the script, but I am not sure if it would work. That's also what @NautiluX  has suggested

it would mean an image is built twice. since we will only use the additional image, i don't feel there will be issues with rebuilding. please feel free to choose!

I decided to try it like @NautiluX  has suggested... I hope that works, I am not a makefile magician :D feel free to have a look @georgettica  or @NautiluX

/lgtm


Exiting go-machine-service: Timed out waiting for transtion."

Rancher Version: 1.2.1
Docker Version: 1.12.3
OS and where are the hosts located? (cloud, bare metal, etc): AWS EC2 behind an ALB
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) Single Node, RDS
Environment Type: (Cattle/Kubernetes/Swarm/Mesos) Cattle
I tried removing old hosts today and they have been in a removing state for a while,  now all i get is this in the rancher logs
time="2016-12-24T15:19:04Z" level=info msg="Setting log level" logLevel=info
time="2016-12-24T15:19:04Z" level=info msg="Starting go-machine-service..." gitcommit=v0.34.1
time="2016-12-24T15:19:04Z" level=info msg="Waiting for handler registration (1/2)"
time="2016-12-24T15:19:12Z" level=fatal msg="Unable to start event router" error="Timed out waiting for transtion."
time="2016-12-24T15:19:14Z" level=info msg="Starting rancher-compose-executor" version=v0.12.1
time="2016-12-24T15:19:15Z" level=fatal msg="Exiting go-machine-service: Timed out waiting for transtion."
2016/12/24 15:19:15 http: proxy error: net/http: request canceled

Even after a restart that is all i see.

While this may be related to this, https://github.com/rancher/rancher/issues/6753  Mine are both in the same VPC with the RDS instance is in us-east-1c subnet and my and my instance is in use-east-1b subnet.

go-machine has gone through quite a bit of improvements since rancher 1.2.1. This should since have been resolved. Going to close this out, please open a new issue if there are any further issues found


Use tree to illustrate directory structure

I used tree to illustrate the directory structure a bit better than the list did. But I can't really explain what the difference between android/.

Perfect, thanks.


When priority is toggled sometimes, the card doesn't change its priority level.

This seems like a non-reproducible bug. Closed.


Whether the tree component supports right-click pop-up menu

Whether the tree component supports right-click pop-up menu？

preservance717, any luck with the right-click menu. I really need this as well. If not I may have to switch to some other tree component.


Error Icon takes half of the screen when initiate manual rollback

Describe the bug
look like style for Error Message icon when we cancel deployment is out of scale
To Reproduce
Have a bad deployment and initiate a manual Rollback
Then you will see this big error symbol as in screenshot, it takes half of your screen just to give you a scale
Expected behavior
error Icon appropriately sized
Screenshots

Service Fabric version 9.0.1017.9590
OS windows 11 22H2 22621.1
Browser/ Browser version Microsoft Edge
Version 101.0.1210.47 (Official build) (64-bit)

this will be fixed with 9.0 CU2


test

Checks

[ ] Your YAML file has required fields as listed in Specs
[ ] All checks have passed yaml-lint passed
[ ] You agree to contribute your work under MIT license

achieved but dirty


Revert "Add cluster setting cluster.restrict.index.replication_type t…

…… (#10866)"
This reverts commit 8b2173910f754a48773b3283e1a511cbc1a9db78.

Description
Reverts the setting until we find a better solution for restricting the change of index replication type in certain scenarios.
Original issue: https://github.com/opensearch-project/OpenSearch/pull/10866
Related Issues
Resolves #11078
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[x] Public documentation issue/PR created

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

@Poojita-Raj Could you update the description and include this change is being reverted? (Seems like I'm seeing double with #11073)

@peternied Thanks for the pointer! Included the link to the original issue. Renamed the second revert to make it clear it's for 2.x.


Set ethernet MAC and DDR voltage

@floion just wondering if you'd be able to make this workflow re-run and approve? Many thanks

@resin-jenkins ok to test

Just rebased an force pushed again, as noticed a new commit in master.  Not sure why the github action is failing though?

Hi @chrisruk it looks like it's still not up to date with master? Can you rebase it again against master?

Sure, just rebased


No reconnect of AxonQueryBus after the AxonServer restarts

Hi guys!
I'm duplicating the issue message from google groups since I'm not the only one who caught this problem :)
AxonServer 4.3.1 (running in k8s stateful set. manifest was used from the official doc)
Spring Boot app with axon-spring-boot-starter 4.3.1
The situation by steps(for running instance of AxonServer):

Spring Boot application starts with the following logs:

12:44:24 [main]  INFO  o.a.a.c.AxonServerConnectionManager                                  - Requesting connection details from localhost:8124
12:44:25 [main]  INFO  o.a.a.c.AxonServerConnectionManager                                  - Reusing existing channel
12:44:25 [main]  INFO  o.a.a.c.AxonServerConnectionManager                                  - Re-subscribing commands and queries
12:44:25 [main]  INFO  o.a.a.c.query.AxonServerQueryBus                                         - Creating new query stream subscriber
12:44:25 [main]  INFO  o.a.a.c.command.AxonServerCommandBus                           - Creating new command stream subscriber

In Axon dashboard I'm able to see available list of commands and queries. Then AxonServer restarts

Spring Boot app becomes reconnect to AxonServer, and when connection is established prints the following logs:

12:53:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.AxonServerConnectionManager                                  - Re-subscribing commands and queries
12:53:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.command.AxonServerCommandBus                                 - Resubscribing Command handlers with AxonServer
12:53:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.command.AxonServerCommandBus                                 - Creating new command stream subscriber

Here we didn't see a message like "Creating new query stream subscriber",  so after successful reconnection, there are no queries in the Axon dashboard. Since I'm no able to push queries via queryGateway because no @QueryHandler is registered after the restart.
P.S with command subscribers, everything is good. It shows commands in the dashboard and handlers still working.
P.S The solution which helped to me(changed directly in AxonFramework source code) is:

AxonServerCommandBus.CommandProcessor.getSubscriberObserver#onError(line 792) - has line "subscriberStreamObserver = null;", which means, that new observer will be created on next connection.
AxonServerQueryBus.QueryProcessor.getSubscriberObserver#onError(line 721) - doesn't have "setting to null" the observer. So, it never re-creates the observer.

Hope you'll help to find the answer!
Thanks!

Thanks for bringing this up @akraskovski. We've noticed several hiccups with regards to reconnecting the AxonServerQueryBus, like #1397 and #1386. Especially #1397 points towards what you are suggesting as well.
My guess is that your issue will thus be resolved with that fix in place. If you have the time, making a local snapshot build of framework would allow you to verify reconnects work with this in place. If you do not have the time to build a snapshot yourself, I'd suggest to wait for 4.3.2 to be released, somewhere this week.
Hope this clarifies your options @akraskovski!

Thanks, @smcvb for the answer!
We'll wait for this fix in 4.3.2

@akraskovski, I am writing because I've just released 4.3.2. Would you mind giving it a spin and seeing whether the same issue still occurs?

@smcvb Hi!
Just checked it using tagged 4.3.2 revision and it seems that everything is working!
Logs from Spring application after AxonServer restart now are the following:
19:24:00 [AxonServerConnectionManager-0] INFO  o.a.a.c.AxonServerConnectionManager                                  - Connecting using unencrypted connection... 19:24:00 [AxonServerConnectionManager-0] INFO  o.a.a.c.AxonServerConnectionManager                                  - Requesting connection details from localhost:8124 19:24:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.AxonServerConnectionManager                                  - Reusing existing channel 19:24:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.AxonServerConnectionManager                                  - Re-subscribing commands and queries 19:24:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.command.AxonServerCommandBus                                 - Resubscribing Command handlers with AxonServer 19:24:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.command.AxonServerCommandBus                                 - Creating new command stream subscriber 19:24:01 [AxonServerConnectionManager-0] INFO  o.a.a.c.query.AxonServerQueryBus                                     - Creating new query stream subscriber
And in the dashboard screen, I become able to see registered query handlers from this app
It's really good news, that solution was found so quickly. Thank you!
Will wait for uploaded 4.3.2 spring-boot-starter release in maven central :)

That's great news @akraskovski! I will close this issue as resolved then.
Thanks again for filing this concern with us and hope to see/chat with you in the future!

Hello @smcvb,
I faced with the same issue but with latest version of Axon
AxonServer 4.4.9 (running in k8s)
Spring Boot app with axon-spring-boot-starter 4.4.6
Spring Boot app logs:
17:35:52.642  WARN  i.a.a.c.impl.AxonServerManagedChannel    : Connecting to AxonServer node [localhost:8124] failed: UNAVAILABLE: io exception
17:35:52.642  INFO  i.a.a.c.impl.AxonServerManagedChannel    : Failed to get connection to AxonServer. Scheduling a reconnect in 2000ms
17:35:54.647  INFO  i.a.a.c.impl.AxonServerManagedChannel    : Requesting connection details from localhost:8124
17:35:55.878  INFO  i.a.a.c.impl.AxonServerManagedChannel    : Successfully connected to localhost:8124
17:35:56.250  INFO  i.a.a.connector.impl.ControlChannelImpl  : Connected instruction stream for context 'default'. Sending client identification
17:35:56.250  INFO  i.a.a.c.command.impl.CommandChannelImpl  : CommandChannel for context 'default' connected, 12 command handlers registered
17:36:09.782  INFO   o.a.e.TrackingEventProcessor             : Fetched token: IndexTrackingToken{globalIndex=8534} for segment: Segment[0/0]
17:36:09.782  INFO   o.a.e.TrackingEventProcessor             : Fetched token: IndexTrackingToken{globalIndex=8534} for segment: Segment[0/0]
17:36:09.787  INFO   o.a.e.TrackingEventProcessor             : Fetched token: IndexTrackingToken{globalIndex=8534} for segment: Segment[0/0]

There are no logs like this (about Query Channel) for example:
16:42:38.153  INFO i.a.a.c.query.impl.QueryChannelImpl      : QueryChannel for context 'default' connected, 6 registrations resubscribed

And also on Axon dashboard there are no Query handlers.

Hi @dimazelinskyi,
do you have any occurrences of "QueryChannel for context 'default' connected" in the beginning of the logs, where the application started? It's probably literally QueryChannel for context 'default' connected, 0 registrations resubscribed.
The reconnect logic for both the Command and Query channels are identical. The only situation I currently see where one connects and the other doesn't is when there are no registered Query Handlers.

Or do you see anything like Error on QueryChannel for context being logged? That should happen around the time where the connection is logged.

Hi @abuijze,
Thanks for your answer.

It's probably literally QueryChannel for context 'default' connected, 0 registrations resubscribed.
The only situation I currently see where one connects and the other doesn't is when there are no registered Query Handlers.

I think it was because query handlers  were correctly working and returning expected values. (Unfortunately for now I do not have whole logs from starting app)

Error on QueryChannel for context

I do not have such message in logs.
This is what happens from reconnecting point:
Fetched token: IndexTrackingToken{globalIndex=8534} for segment: Segment[0/0]
Released claim
Released claim
Releasing claim on token and preparing for retry in 60s
Released claim
Requesting connection details from axon:8124
Connecting to AxonServer node [axon:8124] failed: UNAVAILABLE: io exception
Failed to get connection to AxonServer. Scheduling a reconnect in 2000ms
Requesting connection details from axon:8124
Connecting to AxonServer node [axon:8124] failed: UNAVAILABLE: io exception
Failed to get connection to AxonServer. Scheduling a reconnect in 2000ms
Requesting connection details from axon:8124
....

Successfully connected to axon:8124
Connected instruction stream for context 'default'. Sending client identification
CommandChannel for context 'default' connected, 12 command handlers registered
Fetched token: IndexTrackingToken{globalIndex=8534} for segment: Segment[0/0]

It looks like it totally skip reconnecting QueryHandlers (no query handlers on dashboard)
As temporary solution I downgraded to version axonserver:4.4.8
@abuijze if you have any suggestions how to trace such cases or any other steps that can help with this it would be really good.
Thanks!

I don't think the issue is related to the version of AxonServer you're using. Especially the difference between 4.4.8 and 4.4.9 should not be able to influence the connectivity.
Instead, I think the issue is in the connector. However, looking at the code, I currently don't see a path where it could fail to attempt a reconnect on the QueryChannel. If you have any logs that you can share which are related to losing connectivity, that would be very helpful.

Do you have any other axon related dependencies in your project, other than the Axon SpringBoot Starter?

I don't think the issue is related to the version of AxonServer you're using. Especially the difference between 4.4.8 and 4.4.9 should not be able to influence the connectivity.
Instead, I think the issue is in the connector. However, looking at the code, I currently don't see a path where it could fail to attempt a reconnect on the QueryChannel. If you have any logs that you can share which are related to losing connectivity, that would be very helpful.

All logs related to reconnecting issue that I have I added above in the comments.

Do you have any other axon related dependencies in your project, other than the Axon SpringBoot Starter?

Might be worth giving this a try to see whether it resolves your problem @dimazelinskyi.
You can tap into this, by updating your Axon Framework version to 4.4.7.
This will automatically also pull in axonserver-connector-java 4.4.7.

We've updated with latest version that you suggested. Will see. Thanks!


[enhance]: Misc repo enhancments

Just some ideas to broaden the scope of the project and attract more users/contributors:

[ ] Update the screenshots section once theming updates are complete
[x] Change the repo's description to be more general, not just for k40 lasers
[ ] Finalize 0.9.5 release when GUI changes are finished (?)
[x] Update project tags (categories)
[x] Hide the 'packages' tab on the front page - not used, causes unwanted clutter

These are minor details, but play a significant role in how the project is seen, as they are essentially front and center when users visit the GitHub page. Changing these would likely be beneficial for the project.
Thoughts on these changes?

Made it in a list and adjusted somethings already

Made it in a list and adjusted somethings already

Great, looks good so far!