Split PayloadCodec into two Encoder/Decoder interfaces and have a separate config for each

Is your feature request related to a problem? Please describe.
There are multiple microservices, each one using a different encoding scheme for outgoing Temporal payloads, e.g.:
Microservice A: binary/gzip
Microservice B: binary/encrypt
Each microservice hosts its own activities and workflows that invoke each other.
Describe the solution you'd like
We should be able to configure Java SDK on Microservice A to encode payloads using binary/gzip but decode the incoming payloads using either binary/gzip or binary/encrypt. Same for Microservice B (but use binary/encrypt for encoding).
Here are some code examples:
public interface PayloadEncoder {
    ByteString getEncoding();

    Payload encode(Payload payload) throws DataConverterException;
}

public interface PayloadDecoder {
    ByteString getEncoding();

    Payload decode(Payload payload) throws DataConverterException;

    default boolean willDecode(Payload payload) {
        ByteString encoding = payload.getMetadataOrDefault(EncodingKeys.METADATA_ENCODING_KEY, null);
        return getEncoding().equals(encoding);
    }
}

public class PayloadCodecs {
    final List<PayloadEncoder> encoders;
    final List<PayloadDecoder> decoders;

    public Payload encode(Payload payload) throws DataConverterException {
        Payload result = payload;
        for (PayloadEncoder encoder : encoders) {
            result = encoder.encode(result);
        }

        return result;
    }

    public Payload decode(Payload payload) throws DataConverterException {
        return decoders.stream().filter(decoder -> decoder.willDecode(payload))
                .findFirst()
                .map(decoder -> decode(decoder.decode(payload))) // !!! recursive call
                .orElse(payload);
    }
}

This can also be integrated into a Spring Boot module like this:
@Bean
// get all PayloadEncoder/Decoder beans, use all decoder beans for decoding (will be selected based on
// the Payload's encoding header)
// use only select encoder beans for encoding
// example: temporal.payload-encoding=binary/encrypt,binary/gzip - first gzip the payload and then encrypt
public PayloadCodecs payloadCodecs(List<PayloadDecoder> decoders,
List<PayloadEncoders> encoders,
@Value("${temporal.payload-encoding}") List<String> encodings ) {
       return new PayloadCodecs(selectEncoders(encoders, encodings), decoders);
}

Describe alternatives you've considered
Use our own library on top of Temporal Java SDK
Additional context
Add any other context or screenshots about the feature request here.

We have no plan to make breaking changes to the PayloadCodec interface. In general if you want complex conditional logic that can be done in the PayloadCodec or a custom CodecDataConverter


the govator.go was updated , but your README.md is not Synchronizing.

2021-10-25， I am using your govatar while found a little problem, GenerateFileFromUsername() was modified to GenerateFileForUsername() , the generatefilefromusername() method has been discarded .Can I join your contribution group and update the README.md, thank you very much.

You can make a PR to this project

The PR has been submitted, please check.

You can make a PR to this project

please check again https://github.com/o1egl/govatar/pull/21.
it not exist in https://github.com/o1egl/govatar/blob/8eef4de0f362133ee9838eb810833ab2e30d5284/govatar.go#L94 , I only found the method which is GenerateFileForUsername() in avator.go
I really like this library and am currently using it for projects. 😄
thank your check again. 😸  : )


ACM-12091 Upgrade to x/net v0.23.0

https://issues.redhat.com/browse/ACM-12091
Fix CVE-2023-45288

Upgrade to x/net v0.23.0

/approve
/lgtm


Recommend to avoid DataArray.plot() and use DataArray.plot.scatter() as a quick plotting method instead

Especially during the beginning of the GEO402 course, I've seen a lot of plots created using the .plot()-method, which is simple  to use and recommended in the Xarray user documentation here. By default, this method will create a lineplot if the DataArray is 1-dimensional (see here). However, this default lineplot is not suitable for arrays with irregular missing values, which is usually the case for our EO datasets. The resulting plots usually look similar to this:

Even worse, in some cases the time series might be truncated if the gap of missing values is too big (at least that's what I currently assume):
.plot()

vs. .plot.scatter(x='time') on exactly the same array:

To create a better lineplot, the DataArray.interpolate_na-method can be used to handle missing value imputation.


Update release doc

@craigfe I think the opam pin odoc is no longer necessary, no?

Codecov Report

Merging #1801 (ddedfa3) into main (77445d2) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1801      +/-   ##
==========================================
- Coverage   65.09%   65.09%   -0.01%
==========================================
  Files         118      118
  Lines       14389    14389
==========================================
- Hits         9367     9366       -1
- Misses       5022     5023       +1

Impacted Files
Coverage Δ

src/irmin-test/store.ml
94.93% <0.00%> (-0.06%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Make images runnable in OpenShift

The images were modified so they can run in OpenShift under ranom UID.
Alos base image was changed to Fabric8 image. This is a preparation for a usage of future Red Hat's community Java image.

Thanks for the improvements, @jpechane. Just to be completely clear, this won't affect how the usage of the images, right?

The images are completely compatible with the previous versions. I made just the necessary changes to be runnable under default OpenShift security context. When run in standalone mode they work as before.

Hey @jpechane, thanks a lot for this change!
Out of curiosity, is the change of the base image strictly needed for the matter at hand? It seems a bit we're mixing two things here. Not that I'm against it, just trying to get a clearer picture :) Thanks!

In terms of going for a more standard image, did you consider to use jboss/base-jdk:8? The fabricate8 one is based on that, but I'm not sure whether we actually need its additions?

I thought its best to move to images that are regularly based in OpenShift, thus my changing of base images. Regarding choosing F8 image: it is again useful in OpenShift environment - as the Jolokia is (can be) configured it is easy then to access JMX browser (hawtio) from OpenShift console.

Added a commit to defer the user switch and attributed the commits to https://issues.jboss.org/browse/DBZ-240. Thanks, @jpechane!


pin xlrd<2 for reading xlsx test file

xlrd 2.x is out and no longer reads .xlsx files which can cause test_readwrite.py::test_read_excel to fail; example:
=================================== FAILURES ===================================
_______________________________ test_read_excel ________________________________

    def test_read_excel():
>       adata = ad.read_excel(HERE / "data/excel.xlsx", "Sheet1", dtype=int)

anndata/tests/test_readwrite.py:365:
…
        file_format = inspect_format(filename, file_contents)
        # We have to let unknown file formats pass through here, as some ancient
        # files that xlrd can parse don't start with the expected signature.
        if file_format and file_format != 'xls':
>           raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
E           xlrd.biffh.XLRDError: Excel xlsx file; not supported

/usr/local/lib/python3.7/site-packages/xlrd/__init__.py:170: XLRDError

I guess openpyxl is the preferred way of reading .xlsxs now, so we could update to that (pd.read_excel(…, engine='openpyxl') everywhere?), but in the meantime it seems simple to just pin xlrd<2.

Thank you, @ryan-williams! And yes, pandas will fix this on their end I assume. No hurt in downgrading xlrd.
Happy new year!

Thank you, @ryan-williams! And yes, pandas will fix this on their end I assume. No hurt in downgrading xlrd.
Happy new year!


Fixed attribute debug logging

User and flag were swapped in the log.
(I know it's a very small change but it allows me to practice pull requests 😄)

Awesome! Thank you. 🎉

You're welcome! :)

Did you accidentally close this @joachimBurket? 😄

Oups I think I closed it prematurely 😆 I'll wait for the merge this time hahah


ST-127 semver compliance

@flyingfrog81 @jbmorgado
A step closer to semver compliance.
In setup.py you can only have N.N.N - validation regex check updated
(I tried all different combinations and keep running into non semver edge cases)
During the CI build:

for commits I add +dev.<SHORT-GIT-HASH>
for tags I add +<SHORT-GIT-HASH>

Check this CI build
In the artefacts we have:
lmcbaseclasses-0.0.1+dev.ccdd554d-py2-none-any.whl
The setuptools version is (semver compliant):
"version": "0.0.1+dev.ccdd554d"
I also added a step in the test stage to install the wheel we just built.
Adding the commit hash:

Ensures we install the correct one in the test (there's many others carried over in the cache)
Gives you a easy reference should you want to check out the code at that exact point for debugging etc.

First of all, thanks for the nicely done PR description

If you look at semver specs bullet 10 it says that metadata should only contain alphanumeric characters and hypens, then in the example it uses dot character... cannot understand if the dot is a legal character in the metadata section.
Maybe it would be safer to have +dev-hashtag ?
Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers
immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII
alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be
ignored when determining version precedence. Thus two versions that differ only in the build
metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-
beta+exp.sha.5114f85.

sorry for hte noise, but apparently I missed the dot separated part. Turns out I was not the only one as you can see at: https://github.com/semver/semver/issues/293

PAckage is built using the wrong python version. It should be using the same python version used by the test target, which notably is Python3 where this is using Python2

now everything looks good:

Build job is executed on blessed python env
Tests keep on running ok
Only relevant artefacts are published

this can be merged

Now building a wheel with semver compliant versioning.
This wheel is then installed and tested.
Should the pipeline be kicked off with a git tag then the wheel is also published to the registry.


Add 'runCmdOutput' output to GitHub Action/AzDO Task when using 'runCmd' input

Hello! This PR adds an output 'runCmdOutput' to the GitHub action containing whatever is output by the command specified in the 'runCmd' input. It also includes a bonus fix for tests that are installing Go, as the detection method that was being used for finding the latest version of the Go installer broke when 1.19 was added to https://go.dev/dl/.
If you need me to make any updates or fixes, please let me know.

Hi @natescherer - thanks for this PR!
I like the idea of being able to capture the output from the runCmd. My concern is how well it will handle large outputs (I've had runs with over 10k lines of output) - do you know whether there are any limits around the size of action output values?

/test 5e5be8f

I just found this doc which says:

Outputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.

I think it probably makes sense to limit the size of the runCmd output that is captured.
It would also be good to include the runCmdOutput for the Azure DevOps task, too :-)

Redid the main commit as I realized I missed updating action.yml.
Updates for AzDO and output length coming shortly.

Okay, that's limiting the GH Action output to < 1 MB done.
Also implemented runCmdOutput as an output variable for the AzDO task. I took my best crack at getting it right but, as far as I can tell, there's not really a way for me to test it myself?
I also limited its max output to 25k characters based on this, figuring that there could well be other large env vars in pipelines: https://stackoverflow.com/questions/56534338/what-is-the-maximum-length-of-a-variable-in-azure-pipelines
Let me know if there are any other changes needed!

/test 32541c5

Not really sure why that's failing on the git check? I ran the build-local.sh before making the commit.

Apologies - I think that there is a scenario where build-local.sh runs a second time and produces changes, but I've not managed to track down the cause. In the mean time, if you run again and push then I can re-run the build and it should get past that point.
Also, the golang installations were fixed in a PR that got merged earlier so it may make sense to drop those changes in this PR to avoid conflicts.

Okay, I removed the commit with my golang fix, merged your latest commit, and added another commit after running build-local.sh again. Looks like all it did was change some double-quotes to single? Should be good to run the tests again.

Great - thanks!

/test 52b99e1

@natescherer - thanks again for the updates, tests are looking good. I see that the CLA check is showing that you haven't completed a CLA? I believe https://cla.microsoft.com/ is the link you need for that.
I've also added @chrmarti for a review 😄

According to that site a bot is supposed to post a link in a PR comment for me to sign, but that appears to not have happened? I don't see a way to initiate it myself.

According to that site a bot is supposed to post a link in a PR comment for me to sign, but that appears to not have happened? I don't see a way to initiate it myself.

@chrmarti  - do you know how the CLA process usually works? Is there something missing in the setup for this repo?

We only recently added the CLA configuration to the org. Maybe the bot only shows up on new PRs. @natescherer Could you try creating a new PR (with the same changes)?

#165


Fix MapTiler Satellite Tile Source

When using MapTiler as the tile server, satellite map tiles do not display properly (using mbgl-qt as a reference):

When updating the source template:
- .withSourceTemplate("/tiles{path}/tiles.json", "sources", {})
+ .withSourceTemplate("/maps{path}/tiles.json", "sources", {})

The satellite map tiles display as expected.

From what I can tell, everything seems to work, but I'm concerned I'm missing something.  Some documents reference tiles.json at the old path (e.g., standard tiles), and some at the new path (e.g., raster tiles for standard styles).
Standard tiles with the old path: https://cloud.maptiler.com/tiles/
Standard styles with the new path: https://cloud.maptiler.com/maps/
Any thoughts?

It looks like the MapTiler.SourceURL test failed as a result. The existing functionality is not clear to me at this stage, but I suspect the change required is going to be more complicated.

@dpaulat Thanks for this PR.
It's not a priority for us to fix this. We can merge a fix, but over time we want to move away from including vendor-specific code.
If you are a MapTiler customer it is best to contact them directly. (cc @klokan)

It seems that production MapTiler paths still use /tiles. I think we should probably close the PR.
@dpaulat, did you manage to solve the issue in the meantime?

I agree, changing from tiles causes some other issues. I still have issues with satellite maps, so I think there's still some improvement that can be made, although I don't think my solution is the correct one. I've worked around the issue on a fork. Let's go ahead and close this PR without merge.


How to include total hits in alert_text

Can anyone help on how to include the number hits in the alert text?
Thanks in advance

Unfortunately you can't add it right now. But, I think adding this line should do the trick.
diff --git a/elastalert/elastalert.py b/elastalert/elastalert.py
index e532e76..c684810 100644
--- a/elastalert/elastalert.py
+++ b/elastalert/elastalert.py
@@ -562,6 +562,7 @@ class ElastAlerter():
         num_matches = len(rule['type'].matches)
         while rule['type'].matches:
             match = rule['type'].matches.pop(0)
+            match['num_hits'] = self.num_hits

Then it should be in the default alert text, or in a custom alert text:
alert_text: "Number of hits: {0}"
alert_text_args: ["num_hits"]

Been pulling my hair out wondering how to do this.  Thanks for the patch!

@Qmando , I have a question about your last statement.  For example:
606 query hits, 6 matches, 5 alerts sent
for a rule that's run every 5 minutes looking for X number of events in a 30 second time frame.  I get:
"Number of hits: 606"  in each of the 5 alerts.  Does this mean that 606 is the total number of  documents in the 6 matches and only 5 alerts were sent because one of the matches matched less than 50?
Also, I would like to print out all three values in the alert_text.  If that's possible, what are the arg names for matches and alerts?
Thanks

What might be happening is that as the 606 hits are being processed, the first 50 might trigger one match, the next 50 might trigger another match, etc. It's taking the 30 second timeframe into account for every set of 50 messages, so the number of matches may differ. It could also change based on query_key. Matches may then be dropped because of realert or a couple other reasons.
You could add
match['num_matches'] = num_matches

to add this to the alert as well.
You can't really get the number of alerts sent because it only calculates that number AFTER trying to send them all :)

I'll try to get this into a real feature, or just make that patch the default.

Could you include this patch as the default?  It's working well for me.  I need both num_matches and num_hits.  Thanks!

Done

Thanks very much!

@Qmando Just to make things complicated, how would one remove the num_hits and num_matches as the default? Took a look at elastalert.py but unsure where to make the change.

https://github.com/Yelp/elastalert/blob/master/elastalert/elastalert.py#L689
https://github.com/Yelp/elastalert/blob/master/elastalert/elastalert.py#L690

Wow. Not sure how I missed that. Thank you!


make traversal feature non-public, delete otexplorer

This is a tracking issue for something agreed in chat.

No problem making this feature non-public, but what's the expected replacement? Serializing fonts is extremely useful, as evidenced by the widespread use of TTX.

The only planned serialization support would be to write tables out in the binary format provided by the spec, using write-fonts.

So for context: we have a Python tool called diffenator2 which is used both in the google/fonts onboarding QA process and in the QA process for various Secret Font Projects as well. But being Python it is struggling to cope with very large design spaces, and we don't want Python in the brave new world anyway, so I ported it to Rust, with source here and a WASM-based web version here.
One way in which both diffenator2 and diffenator3 find differences in fonts is by serializing and comparing the contents of the font at a field-based level. For example:

It's a very good way of sorting out what's changed structurally between two font binaries. (Who knows, it may also be a useful tool for testing differences between font compilers. But I digress...)
If you look at https://github.com/googlefonts/diffenator3/blob/main/src/ttj/serializefont.rs you'll see how I've cobbled together a JSON serializer out of the traversal API. It's not pretty but it works; something better would be wonderful, but at the minimum, something similar which allows me to traverse the font and get field names and values would work for this use case. (Something serde-alike would be the ideal...)


Rust Edition 2021

All other crates from Nushell organization seem to already use this Rust edition. Just update this crate to align the usage of it.

Thanks


Trigger Concurrency settings not working?

The so called "Trigger Concurrency" settings Runtime.Trigger.MaximumRunConcurrency and Runtime.Trigger.MaximumWaitingRuns do not seem to work.
I've found this gihub issue that is closed as "Not Planned" but yet this page describes those settings as a real viable option to limit the concurrency...
see https://github.com/Azure/logicapps/issues/614
Should these settings be removed if they are not implemented?

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

ID: 82b26382-e817-f8e8-ad6e-fd5b8b1176e9
Version Independent ID: 3da89335-56c7-c85c-779e-747d185f5c60
Content: Edit runtime and environment settings for Standard logic apps - Azure Logic Apps
Content Source: articles/logic-apps/edit-app-settings-host-settings.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

@gcmvanloon
Thanks for your feedback! We will investigate and update as appropriate.

Hi @gcmvanloon,
After checking with the product team, these settings work only when the workflow uses a recurrence-based trigger, and not a function-based trigger, for a built-in, service provider-based connector. We'll update the doc to clarify this behavior.


Data Science v3

@Tornquist Excellent job on this iteration. You implemented all of the feedback and improved your code. Keep it up! You are good to go on this exercise.


Fix/assign connproc gid

CGW: ConnectionServer: add new GID Changed evt for ConnProcessor

Add a new GID Changed event that Server can sink to underlying
Conn Processor upon need (infra list created - new GID assign,
infra list deleted - <unassigned> GID assigne (0));
This is needed to make sure ConnProcessor doesn't lock
device cache whenever not necessary which can fail/block
acceptance of new ingress connections.

The only drawback is that at least 1 (could be more) potential
messages that come from ConnectionProcessor (underlying infra/device)
can send messages to kafka with <outdated> KEY - group id - for some
time (depends on the load).
In a perfect world it's possible that a single message will be sent
with outdated GID, given that ConnProcessor has a highest priority
of fetching MBOX messsages prior to even touching socket.

So it looks like setting CGW_WSS_THREAD_NUM is no longer supported?
I would have taken care of the CI part of this at least on that side, but thanks!
Please also take a look at https://reproducible-builds.org/docs/source-date-epoch/
See the Dockerfile part. Just adding ARG SOURCE_DATE_EPOCH high up in the target copying portion, should allow you to reference that env var.


Unable to import default exports with ESM

Precheck

[X] I searched existing issues before opening this one to avoid duplicates
[X] I'm able to reproduce this issue and prove it with a minimal reproduction
[X] I understand this is not a place to ask for free debugging support

Problem
I would like to import a default export of a lib.
Unfortunately with tsx I couldn't do this:
import zennv from 'zennv';

export const env = zennv({...})

I got this error:
Error: _zennv.default is not a function
Expected behavior
Working with default imports.
Minimal reproduction URL
https://stackblitz.com/edit/stackblitz-starters-wkqcy7?file=package.json,src%2Findex.ts,src%2Fenv.ts
Version
v4.6.0
Node.js version
v20.10.0
Package manager
pnpm
Operating system
Windows
Contributions

[ ] I plan to open a pull request for this issue
[ ] I plan to make a financial contribution to this project

Minimal reproduction: https://stackblitz.com/edit/stackblitz-starters-sykrfb

I'm having the same issue with NextAuth providers.
Tried to tweak the TS config without any success.
In the repro, changing zenv to zenv.default fixes the issue (same in my case, but it's not a workaround I can use)

I think I'm hitting this issue with some older libraries, too. What is the recommended workaround or do I need to stick to ts-node-dev?

I've started investigating this, and so far found that the import happens fine if I specify type: "module" in package.json or use a .mts file as a target, but otherwise an extra default key indirection gets added to the returned object.


Add resource AWS::AppRunner::VpcIngressConnection, Update AWS::AppRunner::Service

Issue #, if available: Add resource AWS::AppRunner::VpcIngressConnection; Update AWS::AppRunner::Service to support VpcIngressConnection and ObservabilityConfiguration
Description of changes:  Add resource AWS::AppRunner::VpcIngressConnection; Update AWS::AppRunner::Service to support VpcIngressConnection and ObservabilityConfiguration
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM!


Update to pytest 7.0.0

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@pmbrull if its not too complex lets handle it in this week otherwise lets push to release 0.10


WIP Initial build-openj9 github action commit

Support jdk8 on [ubuntu-16.04, ubuntu-18.04]
jdk11, ..., jdk14 on [ubuntu-16.04, ubuntu-18.04, macos-10.15]
jdk11 on [windows-2016]

Set as WIP since I think we need an Eclipse CQ for this. @smlambert are you going to handle this?
@sophia-guo the commit title should be more descriptive of the change. Can you please also add new lines at the end, for the files which don't have them. Should be obvious which ones from the "File changes" view.

Not sure I know what needs to be done to create a CQ, if you can give me some guidance @pshipton, I can take care of it.

@smlambert
https://www.eclipse.org/projects/handbook/#pmi-commands-cq
https://projects.eclipse.org/projects/technology.openj9
https://projects.eclipse.org/projects/technology.openj9/cq/create

Nightly builds are based on master of https://github.com/eclipse/openj9. Wondered should we move the PR https://github.com/eclipse/openj9/pull/9576 to this repo? @pshipton

Wondered should we move the PR eclipse/openj9#9576 to this repo?

What are the side effects/restrictions of doing that? Since we are testing on a schedule I don't see that it matters, using this repo is fine. If we want to trigger off some event, we might need something in OpenJ9. I think moving it here to start makes sense, and we can add something to OpenJ9 later if necessary.

https://dev.eclipse.org/ipzilla/show_bug.cgi?id=22245

We have some additional work to do in response to today's note on CQ:

We have completed an initial review of the code and have a few comments:

As this is an initial project code contribution, we should only be seeing the
project licenses in the headers (EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH

Classpath-exception-2.0 OR GPL-2.0 WITH OpenJDK-assembly-exception-1.0). Our
scan picked up only 4 files with license information, three of which were MIT
licensed and the other EPL-2.0 only. The other 16 files in the package have no
license information attached. You have indicated the reason for the presence of
the MIT code above, but again this is an initial contribution and we should not
be seeing licenses outside of those approved for the project.

Please update the attachment to ensure that all files include the proper
Eclipse header information, as illustrated here:

https://www.eclipse.org/projects/tools/documentation.php?id=technology.openj9
As well, please ensure that you are making use of the eclipse.org namespace.
Once the above issued have been addressed, we can proceed to check in the code
for review.

@pshipton Does this https://github.com/eclipse/build-openj9/pull/1#issuecomment-648955154 mean adding the standard copyright and license (same as openj9 one) to all files? And remove the MIT License file for initial commit and add back later in a separate PR?

You can't change a license, from MIT to Eclipse/Apache or otherwise, unless you wrote/own the code outright and are choosing the license to make it available.
There is documentation here https://www.eclipse.org/projects/handbook/#ip-initial-contribution
Sounds like we need to make an initial contribution to the repo with only Eclipse licensed files before trying to add the MIT licensed files. @smlambert according to the doc you'll need another CQ for the MIT licensed files.

Added Eclipse License to all workflows yaml files, two typescript files, action.yml and README.md. Others are github action related property files, which are under MIT licenses I believe and is defined under package.json as :
"license": "MIT",

Just temporarily removed the file  package.json
Attached zip file @smlambert
build-openj9-1.zip

Updated CQ with new attachment and a comment about the plan to bring in the few MIT licensed files via a separate CQ, once we have initial contribution CQ complete.

CQ progress:
"We have completed preliminary triage and you may now proceed to check the
attached content into the project’s repository.  A comprehensive IP review has
been added to the IP Team’s work queue and will be scheduled at a later date.
Please ensure you include necessary legal documentation files such as Notice,
License, Contributing, etc. when you move the content code to the repo.  Our
Legal Documentation Tooling can help with that:
https://www.eclipse.org/projects/tools/documentation.php?id=technology.openj9"
@sophia-guo - we can proceed with this PR, can you make sure to add the NOTICE,
LICENCE, CONTRIBUTING files (the link above creates an initial version of those files for you).


optional vlan setting for management ports

optional vlan settings for management NIC
e.g.
https://www.slashroot.in/vlan-configuration-linux-nic-interface
[root@myvm1 ~]# vconfig add eth0 300
Added VLAN with VID == 300 to IF -:eth0:-

Setting "vlan" in /opt/fmadio/etc/network.lua
["sf1"] =
{
["Mode"]    = "static",
["Address"] = "<IP_ADDRESS>",
["Netmask"] = "<IP_ADDRESS>",
["Gateway"] = "<IP_ADDRESS>",
["DNS0"]    = "<IP_ADDRESS>",
["DNS1"]    = "",
["Speed"]   = "10G",
["TSMode"]  = "nic",
["vlan"]    = "90",
},
There is no GUI option but setting remains persistant

commited, need to run regression + FW release

updated and confirmed in FW: 5332


SA1516 says it can be configured with useBlankLinesBetweenUsingGroups, but there is no such entry in the schema.json

I'd love to configure allowed missing blanks between properties, but the schema does not tell me which values are allowed.
The SA1516 documentation however says it should be configurable: https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1516.md#cause

This is a documentation bug. The correct name of the option is blankLinesBetweenUsingGroups.

I have tried out all possible values for blankLinesBetweenUsingGroups (allow, require, omit), but classes like this are consistently causing a SA1516:
class Foo
{
        public double Bar{ get; set; }
        public double Baz{ get; set; }
}

Are you sure blankLinesBetweenUsingGroups is the correct setting? From its description I would have guessed it controls how I should style subsequent using statements/blocks.

I was responding based on the title of the issue.
I don't believe there is any configuration option to allow a blank line to be omitted between single-line property declarations.


1190 modes in subfolders

Do I need more tests for the modes loaded from subfolders?

Looks good to me. Thanks for taking the time!

The test is sufficient. You could add a negative test that we do not find subfolders/more modes within another mode.

I'll fix both and also squash the commits.
The documentation would probably need to change as well. Would there be a separate issue created for that? How is it usually handled?

Feel free to just update the configuration mpf-docs. We rarely use issues in the docs (mostly just as a reminder for stuff to do later).

These changes are ready for merge @jabdoa2 . I'll work on the documentation at some point next week.

Awesome. Thanks!


The following model_kwargs are not used by the model: ['token_type_ids']

Description of the bug
Hi, im trying to use an HuggingFace model (NumbersStation/nsql-llama-2-7B) on my local machine.
I ran the model using the following command:
python3 -m manifest.api.app \
    --model_type huggingface \
    --model_generation_type text-generation \
    --model_name_or_path nsql-llama-2-7B \
    --device 0

and executed a simple postman call (previously tried LangChain to interact with the model but got the sam error):
curl --location 'http://<IP_ADDRESS>:5002/completions' \
--header 'Content-Type: application/json' \
--data '{
    "prompt": "Hello World",
    "max_tokens": 1024,
    "temperature": 0.0,
    "repetition_penalty": 1,
    "top_k": 50,
    "top_p": 10,
    "do_sample": "True",
    "n": 1,
    "max_new_tokens": 1024
}'

But Im getting the following error each time:
The following `model_kwargs` are not used by the model: ['token_type_ids'] (note: typos in the generate arguments will also show up in this list)
<IP_ADDRESS> - - [03/Aug/2023 10:49:30] "POST /completions HTTP/1.1" 400 -

any ideas?

I ran %pip install transformers==4.31.0 according to https://huggingface.co/NumbersStation/nsql-llama-2-7B/discussions/1 and the following curl worked for me on my MBPro(intel)

curl --location 'http://<IP_ADDRESS>:5002/completions'
--header 'Content-Type: application/json'
--data '{
"prompt": "Hello World",
"max_tokens": 1024,
"temperature": 0.0,
"repetition_penalty": 1,
"top_k": 50,
"top_p": 10,
"do_sample": "True",
"n": 1,
"max_new_tokens": 1024
}'

I had the same problem, I solved it by using --model_generation_type llama-text-generation


bug: @link is not working, but in other places refering the same function, it is working.

Search terms
@link, inline, @default, warning
Expected Behavior
I expected these errors not to exist.
Actual Behavior
> typedoc

[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_4_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_5_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_5_1_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_6_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_7_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_7_1_MSH.msh_10
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_8_MSH.msh_10
[info] Documentation generated at ./docs
[warning] Found 0 errors and 7 warnings

Process finished with exit code 0

Steps to reproduce the bug
In the code:
Function: https://github.com/Bugs5382/node-hl7-client/blob/dcc0f10324582f1632a25ad1614a264346db6988/src/utils/utils.ts#L170-L180
Working Line: https://github.com/Bugs5382/node-hl7-client/blob/dcc0f10324582f1632a25ad1614a264346db6988/src/specification/2.1.ts#L36
Working Line Output: https://bugs5382.github.io/node-hl7-client/interfaces/HL7.HL7_2_1_MSH.html#msh_10 - Shows a good link to the function in CORE namespace as well.
This line (https://github.com/Bugs5382/node-hl7-client/blob/dcc0f10324582f1632a25ad1614a264346db6988/src/specification/2.4.ts#L44) produces the error/warning:
[warning] Failed to resolve link to "randomString" in comment for HL7.HL7_2_4_MSH.msh_10

... yet I can not find any difference in the two lines of code. The actual output of the docs is here: https://bugs5382.github.io/node-hl7-client/interfaces/HL7.HL7_2_4_MSH.html#msh_10 showing no link.
So I got no clue since the spelling, format, design, etc., are the same in the other files
Environment

Typedoc version: 0.26.3
TypeScript version: 5.5.2
Node.js version: v20.15.0
OS: MacOS 14.5 (23F79)

This is happening because in one file, you have imported randomString, so TypeDoc notices that TypeScript has resolved the link already, and uses it.
In the other file, there is no import, so TypeScript can't resolve the link. This causes TypeDoc to fall back to using declaration references to resolve the link.
Looking at your docs, it looks like {@link CORE.randomString} should work.

sigh. Once again, you are right, @Gerrit0. So closing this issue. I had to refactor my code cause CORE.randomString was not resolving for my interfaces/types..


Consider second controller for too many (concurrent) requests errors

Consider second controller for Too many (concurrent) requests messages.
Description
Today the response provided by the API/CLI is misleading because it's indicating that e.g. the default limit of invocations per minute is 3000, which is actually not the case. The reason is that the limit is spread over/enforced by 2 controller in the cluster where each controller maintains the half + 10% overhead. For a limit of 5000 for invocations per minute this leads to (5000 + 20%)/#controller = 6000/2 = 3000
The code change in this PR addresses this problem by taking the number (2) of controller in the cluster into account. As the number of requests handled by the other controller is not known by the controller that returns the error in case the limit is violated the count value in the error is still not 100% accurate. However the assumption is that at the time of the error the second controller has handled a least 50% of the guaranteed number of requests. This should be guaranteed as the code allows 20% of additional requests on top of the limit to mitigate possible unfair round-robin loadbalancing between both controllers.
My changes affect the following components

[ ] API
[X] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[X] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).


JTD values form accepts any value

What version of Ajv are you using?
I expected false. Unless I misunderstand the documentation, { values: {} } is equivalent to Record<string, any>, but it appears to be treated as any.
Are you going to resolve the issue?
First I'm interested to know if I'm mistaken. I haven't taken a look at the source code to know if I might be able to resolve it myself.
My workaround for the moment is to replace { values: {} } with { optionalProperties: { foo: {} }, additionalProperties: true }.

This is indeed a bug - it happens with an empty "values" form.
As a workaround, you should be using "properties" form without properties.


Release/1.4.1

Patch for odd release regression

Coverage decreased (-50.5%) to 15.847% when pulling beaa2d265b7849f3a8d80fde701a11a8516f04f5 on release/1.4.1 into 53cc8ae26a9477b02829c06a98eb042b90c1c4f7 on develop.


[Static Mirror] Refactor gathering of associated types from a binary and add SwiftStaticMirror entry-point for it.

The refactored code is exercised by swift-reflection-dump so existing tests that check associated types ensure this does not regress this functionality.

@swift-ci please test

@swift-ci please test


enable usb controller

What this PR does / why we need it:
This PR enables usb controller which was by default turned off. USB controller is needed for this PR: https://github.com/kubevirt/kubevirt/pull/1987 to enable USB bus for tablet. USB controller is enabled only when user specify spec.domain.features.usbDevice.enabled to true.
Release note:
enable usb controller

Right now, usb controller is disabled by default, it is turned on only when user sets usbDevice feature.
Sure thing it can be changed to allow usb controller, when user add usb device.

I agree with Fabian. I don't see a reason to just unconditionally enable the controller without an actual USB device being added.
Also, could you please explain why a usbDevice is be a feature? What are we trying to achieve here?
If we are trying to schedule a vm on a node with an arbitrary usb device, shouldn't we be looking for a specific device? Or am I missing something?

@vladikr I agree the enabling of usb controller when usb device is added is better solution. I put it inside the features, because you can specify if you would like to controller enabled or disabled.
I had to add this functionality to this PR https://github.com/kubevirt/kubevirt/pull/1987, because it contains attributes which are needed to check if usb should be enabled. Please feel free to review it. I am closing this PR, because it is no longer needed.

@fabiand @vladikr I would rgue that it actually makes more sense to add USB controller by default unless it's really a high perf workload type. After alll that's why we introduce that concept.
The controller itself is not hotpluggable, so you do need it whenever you would want to offer a USB hot pluggability (hotplug of hostdev or SPICE-based USB sharing). I do not think there's actually any overhead to have a single XHCI controller there by default

Right, if it has no overhead on a high-performance VM profile, then it
sounds to me as if we can add it. But adding it does not imply that we need
to expose it in the API.


OCM-1366 | fix: update description on link user roles command

JIRA - https://issues.redhat.com/browse/OCM-1366

/lgtm


关于 instance labels

感谢杨博士能抽时间看看我的问题,我在尝试做同样的数据的格式，但是对instance label的ID编码规则不是很清楚。语义分割是按照13个类别的顺序按照0-12的规则对应，那么实例分割是按怎样的顺序呢？我看到实例的ID到40多了，希望能得到你的讲解。

hi @zz-3280, the instance label is simply starting from 0(or 1 or whichever number you like) and then adding 1 by 1. Basically, that label is the index for an individual instance.

hi @zz-3280, the instance label is simply starting from 0(or 1 or whichever number you like) and then adding 1 by 1. Basically, that label is the index for an individual instance.


Fix health Url in actors.go

Description
There was a redundant path.Join which was converting http:// to http:/ which resulted in failure of http call to the user code.

/ok-to-test


Fix error messages from import order checker.

The keys in the config file were incorrect, causing the error key
to show up in the output (instead of the message).

Thanks.


[DX] Create Repository - reduce friction on storage namespace config when running locally

As a way of reducing the friction for new users running lakeFS locally it would be good to provide a default value for the storage namespace. Storage namespace is not something that a new user will necessarily be familiar with so we need to make it as easy to enter.
At the moment the form field has a placeholder but this disappears as soon as the user starts typing something which requires them to have memorized the syntax that the placeholder gave them

Some suggestions:

If we're running locally then maybe we can simply default the actual contents of the field to local://example-bucket - does the user actually need to configure this unless they want to?

If not running locally then default the value to the storage namespace prefix?

or maybe default the contents to the storage namespace prefix so all the user has to do is enter some path name?
or add a hint underneath the form box

We should also delay the validation on what's entered until they at least take focus from the box - as can be seen from the screencap above the user gets a scary red message telling them they're doing something wrong even if they're entering as-yet-still-valid text

@rmoff, a solution can be to add the default_storage_namespace (don't remember the exact name) configuration to the bundle of default local settings. This way, this field will get field automatically

:chefkiss: 🎉


NoiseEngine.Jobs system generator not generating code or throw compilation error when system do not define OnUpdateEntity method

Obsolete by #351


too much recursion in click event

Problem

When I toggle a button to show and after hide a menu I get an error too much recursion in the hide action, this issue I cannot reproduce in the previous version.
I don't know if the issue happens because for hiding  elements from the dom or because the event click happens in a child of a component that in the same time is also the child of another component
error in firefox: to much recursion
error in Chrome:
Uncaught RangeError: Maximum call stack size exceeded
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2ad)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)
    at yew::html::NodeRef::get::h0b974c265e838b69 (wasm-function[819]:0xcd2fb)

Steps To Reproduce
Steps to reproduce the behaviour:

git clone https://github.com/spielrs/yew_styles.git
git checkout update-yew-new-version
npm start
go to http://localhost:1234/navbar
turn the browser in mobile view or just reduce the window
click in the dropdown button to show and hide the menu
when the menu is hired the error is showing

you can find here the event that throw the issue.
I would like to create a minimal code to reproduce the issue but I'm not sure where come from. Could be those cases that I explain above.
Expected behavior
The error shouldn't happen
Screenshots
yew 0.15.0

yew 0.14.3

Environment:

Yew version 0.15
Rust version 1.43
web-sys version 0.3.36
OS: Solus
Browser Firefox, Chrome

Questionnaire

[x] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

the issue should be in this commit https://github.com/yewstack/yew/commit/a91e7f651253382ac9abafb5ca2e0e0df669cd2c because I tried restore this commit https://github.com/yewstack/yew/commit/d7993688944e0edde03b8a8e3bab1e2bc0705bea and doesn't cause the error

Here's one of the bugs causing this issue: https://github.com/yewstack/yew/issues/1164

There is another issue that is related to the ordering of the yew scheduler that I haven't quite figured out yet

@jstarry how are things on this? I could look into it if there is still some part that is not resolved yet.

@ZainlessBrombie hey, long time no see!
As mentioned in #1164, the issue was due to:

This causes a cycle where if NodeRef never gets set to a DOM element

Which is still an issue 😱  it should be an easy fix in NodeRef.link() though if you want to pick it up!

If it is needed I can reproduce again the error, I forgot of this and I deleted the branch :smiley: . I would like to fix this problem but with yew_styles and with my limited time i cannot currently, sorry


Company behind Trino should be changed to Starburst

https://github.com/lfai/lfai-landscape/blob/11d5e6b4d41021fb9eaa80826084b7a56886a74b/landscape.yml#L976
Correct Org is Starburst: https://www.crunchbase.com/organization/starburst

Starburst Enterprise, based on open source Trino (formerly PrestoSQL) ..

https://www.crunchbase.com/organization/presto-foundation
should be linked with a different/new product prestodb  (if not done already?)

Thank you. will be reflected in the landscape in the next update.


Adjust build script for new docs.to-html command

There's a new : option for the docs.to-html command. Start using that and adjust the build script to do the renaming of learn and feed (to docs and blog respectively) instead of relying on the transcript to do that.

I tested this locally and these changes get us much farther along in the build process (hooray!) but it appears docs linking does not function as expected for terms that directly reference Unison docs like this: {{This is a doc with a link to the {tour} document}}.
This creates an href link to "http://localhost:2345/docs/learn/tour" but the page is located at "http://localhost:2345/docs/at-a-glance/"
I also tested changing the actual namespace to docs in the codebase and it eliminates the need to copy from learn to docs, so why don't I make that change (and the change from feed -> blog), in which case this PR can just be the change to the transcript.

Sounds good to me!


tensorflow/core/framework/allocator.cc:101] Allocation of X exceeds 10% of system memory. #18735

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
TensorFlow installed from (source or binary): Source
TensorFlow version (use command below): 1.7.0
Python version: Python 3.5.2
Bazel version (if compiling from source): 0.11.1
GCC/Compiler version (if compiling from source): 5.4.0
CUDA/cuDNN version: no
GPU model and memory: no
Exact command to reproduce:

Describe the problem
My server has 32gb of RAM, but tensorflow uses only 10% of that memory.
It returns the message:
<<tensorflow/core/framework/allocator.cc:101] Allocation of<PHONE_NUMBER> exceeds 10% of system memory.>>
Is it possible to increase this percentage?
Source code / logs
SOURCE CODE:
import keras
from keras import regularizers
from keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, ZeroPadding2D, add
from keras.models import Model
from keras.layers.core import Layer, Dense, Dropout, Activation, Flatten, Reshape
from keras.regularizers import l2
from keras.utils import np_utils
from keras.callbacks import TensorBoard
from sklearn.model_selection import train_test_split
import numpy as np
import h5py
import time
file_train = 'features/files_train_test/train_inceptionv3_doc2vec.npy'
file_test = 'features/files_train_test/test_inceptionv3_doc2vec.npy'
x_train = np.load(file_train)
x_test = np.load(file_test)
print('shape train: ',x_train.shape,'shape test: ', x_test.shape)
print('size train: ', len(x_train), 'size test: ', len(x_test))
print('prod train: ',np.prod(x_train.shape[1:]), 'prod test: ', np.prod(x_test.shape[1:]))
x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:])))
x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:])))
print('shape train: ',x_train.shape,'shape test: ', x_test.shape)
epochs = 10
batch_size = 32
input_size = x_train.shape[1]
output_size = x_train.shape[1]
hidden_size = x_train.shape[1]
file_name = 'features/files_reduce/sparse/autoencoder_inceptionv3_doc2vec_'
x = Input(shape=(input_size,))
h = Dense(hidden_size, activation='relu', activity_regularizer=regularizers.l1(10e-5))(x)
r = Dense(output_size, activation='sigmoid')(h)
autoencoder = Model(inputs=x, outputs=r)
autoencoder.compile(optimizer='adam', loss='mse')
autoencoder.summary()
autoencoder.fit(x_train
,x_train
,batch_size=batch_size
,epochs=epochs
,verbose=1
,validation_data=(x_test, x_test))
autoencoder.save(file_name+name_full)
print('Save encode' + file_name+name_full)
===============================================================================
OUTPUT:
Using TensorFlow backend.
shape train:  (21248, 49452) shape test:  (5313, 49452)
size train:  21248 size test:  5313
prod train:  49452 prod test:  49452
shape train:  (21248, 49452) shape test:  (5313, 49452)
Layer (type)                      | Output Shape              | Param

input_1 (InputLayer)         | (None, 49452)             | 0
dense_1 (Dense)              | (None, 49452)             |<PHONE_NUMBER>
dense_2 (Dense)              | (None, 49452)             |<PHONE_NUMBER>

Total params: 4,891,099,512
Trainable params: 4,891,099,512
Non-trainable params: 0
Train on 21248 samples, validate on 5313 samples
Epoch 1/10
2018-04-20 11:22:08.069764: W tensorflow/core/framework/allocator.cc:101] Allocation of<PHONE_NUMBER> exceeds 10% of system memory.
2018-04-20 11:22:12.089390: W tensorflow/core/framework/allocator.cc:101] Allocation of<PHONE_NUMBER> exceeds 10% of system memory.

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/default/logging.cc#L117
Try setting the environment variable
TF_CPP_MIN_LOG_LEVEL=2
to filter out INFO and WARNING logs.

I set environment variable "TF_CPP_MIN_LOG_LEVEL=2", the message is not show, but the problem persists. After a long time running the die process.
OUTPUT:
from ._conv import register_converters as _register_converters
Using TensorFlow backend.
shape train:  (21248, 49452) shape test:  (5313, 49452)
size train:  21248 size test:  5313
prod train:  49452 prod test:  49452
shape train:  (21248, 49452) shape test:  (5313, 49452)

Layer (type)                 Output Shape              Param #
input_1 (InputLayer)         (None, 49452)             0

dense_1 (Dense)              (None, 49452)<PHONE_NUMBER>

dense_2 (Dense)              (None, 49452)<PHONE_NUMBER>
Total params: 4,891,099,512
Trainable params: 4,891,099,512
Non-trainable params: 0

Train on 21248 samples, validate on 5313 samples
Epoch 1/10
Morto

Besides the warning message, does it affect the speed or the accuracy? I'm trying to figure out what is the exact problem.

I need to increase the memory that tensorflow use. This is necessary for my application run. Do you know any alternative?
The problem is, my server have 32GB, but o tensorflow is using only 10%.

I am currently having the exact same issue.
2018-04-27 12:00:03.250952: W tensorflow/core/framework/allocator.cc:101] Allocation of 439808000 exceeds 10% of system memory.
Killed

Exact same issue:
2018-04-28 23:29:06.477982: W tensorflow/core/framework/allocator.cc:101] Allocation of 18874368 exceeds 10% of system memory.

Same issue:
2018-05-01 08:05:49.156289: W tensorflow/core/framework/allocator.cc:101] Allocation of 179437568 exceeds 10% of system memory.

2018-05-02 01:08:14.865905: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-05-02 01:08:15.343656: W tensorflow/core/framework/allocator.cc:101] Allocation of<PHONE_NUMBER> exceeds 10% of system memory.

The same problem with ssd_mobilenet_v1_coco and ssd_mobilenet_v2_coco. I do not have any problem with faster_rcnn_inception_v2.

I tried this abordage (decrease value batch_size) previously, but not resolver issue.

Having an option to limit max mem usage in TF would be really cool, but currently I'm working with 32GB RAM and I obviously do not want to be limited to 3.2GB RAM usage :)

It's just a warning, not a limit on TF mem usage. You can easily verify it by looking at your system memory monitor.

From your output:
"Total params: 4,891,099,512"
Even each param is only one byte. TensorFlow was using at least 4,891,099,512 bytes, or 4.6 GB, which is larger than 10% of 32 GB.

一样的问题，在运行tf.global_variables_initializer()的时候就会出现，然后程序就异常被kill了

so this alert is just for warn ? don't we neccesary to nothing to do ?

NO，I just found what's the problem is. May be your model contains too much variables , such as a big Dense layer (FC) , and check out your data type, float64 is lager than float32, and last , some optimizer will make this problem too, such sa adam , it will allocate double memory of model size, because it will save the history grads.

Same error here, even though my model only has 144.340 parameters. I have 10 GB of GPU RAM and I get the error message:
W tensorflow/core/framework/allocator.cc:101] Allocation of 589824000 exceeds 10% of system memory

@plaffitte Care of your date type, float32 or float 64, and if your optimizer need to save history grad, such as adam, it also make the need of RAM double.

Same issue here, tried reducing the batch_size to a smaller number worked for me.  Credit to @Swordancer for the suggestion.

I don't see any .conf files.. where should I change this setting? @briantsai @Swordancer

Tf:1.9 , I have the same issue.    Total: prams: 367.352.  256G mem.  1) When I use tf.keras.layers, it's OK, but I changed to tf.layers to address  BN layer accuracy issue.  this issue pop up 2) Batch size 128 work when using tf.keras layer, still exist when batch size is set to 8    3) from the detail, the clue is on Adam initilization, but it shoud not.
2018-08-06 06:54:03.420400: W tensorflow/core/common_runtime/bfc_allocator.cc:275] Allocator (GPU_0_bfc) ran out of memory trying to allocate 61.04GiB.  Current allocation summary follows.
2018-08-06 06:54:03.422814: W tensorflow/core/common_runtime/bfc_allocator.cc:279] *___________________________________________________________________________________________________
2018-08-06 06:54:03.423826: W tensorflow/core/framework/op_kernel.cc:1295] OP_REQUIRES failed at constant_op.cc:75 : Resource exhausted: OOM when allocating tensor of shape [32000000,512] and type float
2018-08-06 06:54:45.899764: E tensorflow/core/common_runtime/executor.cc:696] Executor failed to create kernel. Resource exhausted: OOM when allocating tensor of shape [32000000,512] and type float
[[Node: block_output_fc1/kernel/Adam/Initializer/zeros = Constdtype=DT_FLOAT, value=Tensor<type: float shape: [32000000,512] values: [0 0 0]...>, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]

@IvanZhangDoIt
Hi, Ivan
I have solved my problem, you can try the following:

Kill all the running process, to make sure GPU have suffice memory. use command "nvidia-smi" see the running process, and use command "kill -9 id" to kill it.
Make sure your network not very large,  Check if there is an oversized fully connected layer.
Checking if float64 is used will double your memory.
Check if the adam/RMSprop optimization algorithm is used. These optimization algorithms will record historical gradients and will double the memory usage.

Yaohua Guo
wechat: guoyaohua167

I have the same issue.the reason is that I didn't install CPU acceleration. Don't use "pip install tensorflow", use "conda install tensorflow". @reinaldocmendes

@guoyaohua
我也遇到了类似问题。不过是自己搭的网络：用的是tf.layers，tf.float32 网络深度150多层，但freeze了前100+层，只train最后21层，优化器是GradientDescentOptimizer，一运行train就卡死，被这个问题困扰了很久了。网上有用tf.keras构建类似深度卷积层，我试过可以正常训练。

I have the same issue.the reason is that I didn't install CPU acceleration. Don't use "pip install tensorflow", use "conda install tensorflow". @reinaldocmendes

Hi @elihuan1990, I installed the tensorflow from the source code, I am not using the precompiled version of the tensorflow. I have a very large feature vector such as input in my neural network (autoencoder).

It is just a warning, and it does not matter, so just be easy. At last, you still can get normal output.

Same problem here.
And my program got killed soon after.

I had a similar problem: the message about exceeding 10% of system memory and then Killed message and the program exiting. I was running tensorflow program on a very low-end machine (Ubuntu 18.04 on t2.micro on AWS with 1GB RAM). What helped in my case was realizing that it had no swap file configured by default. After adding the swap file the problem was gone. I'm not sure if that's connected to everyone else's problems but maybe it'll help someone.

If you are using the tensorflow with Docker containers, then I was able to fix this problem by increasing the container memory.
I have posted the answer here on stack overflow:
https://stackoverflow.com/a/55246936/565223

I had a similar problem: the message about exceeding 10% of system memory and then Killed message and the program exiting. I was running tensorflow program on a very low-end machine (Ubuntu 18.04 on t2.micro on AWS with 1GB RAM). What helped in my case was realizing that it had no swap file configured by default. After adding the swap file the problem was gone. I'm not sure if that's connected to everyone else's problems but maybe it'll help someone.

Hey @lendrom, I am a beginner in using EC2. I happen to be using the same configuration as yours and i am getting the same error. Could you tell where and how did you add the swap file? And what to add in it?  Thanks in advance.

I believe Killed is being experienced due to kernel's Out of Memory Killer. Resolving this via introducing swap may yield major slowdown (as I/O from disk is slower than from memory), so consider resizing your EC2 to have more main memory. But if you still want to introduce swap, you can do that by following the steps here.

Swap is a space on a disk that is used when the amount of physical RAM memory is full. When a Linux system runs out of RAM, inactive pages are moved from the RAM to the swap space.

I had a similar problem: the message about exceeding 10% of system memory and then Killed message and the program exiting. I was running tensorflow program on a very low-end machine (Ubuntu 18.04 on t2.micro on AWS with 1GB RAM). What helped in my case was realizing that it had no swap file configured by default. After adding the swap file the problem was gone. I'm not sure if that's connected to everyone else's problems but maybe it'll help someone.

hi ,
I am also having this issue. how did you add the swap file ?
Thanks

The same problem with ssd_mobilenet_v1_coco and ssd_mobilenet_v2_coco. I do not have any problem with faster_rcnn_inception_v2.
EDIT: Ok my solution was to set batch_size: 1 (line 141 of config file) instead of batch_size: 37 in ssd_mobilenet_v1_coco.config file or other config file.
I suppose that solution for this problem in the main post is to change batch_size = 32, to some smaller value. :)

In my case, batch_size was 128 and i reduce it to 20 and it seems running now. Hope i wouldn't have this problem again till my training ends

same issue in my windows os environment,but OK in my mac,this is odd

same issue in my windows os environment,but OK in my mac,this is odd

my windows computer have 16GB RAM and my mac just have 8GB RAM

@reinaldocmendes  I think you should try to reduce your batch size, because after some time probably  the process will be killed

have the same issue with log  W tensorflow/core/framework/allocator.cc:108] Allocation of<PHONE_NUMBER> exceeds 10% of system memory
how to solve it ?
need help

I am currently having the exact same issue.
2018-04-27 12:00:03.250952: W tensorflow/core/framework/allocator.cc:101] Allocation of 439808000 exceeds 10% of system memory.
Killed

I do have the same issue

@LIUHUANUCAS Tensorflow use too much memory, you have to find a way to reduce it. You can reduce your batch size for example. If it doesn't work, try @guoyaohua method.

I think I found what might have caused the problem.
I recently messed with a variational autoencoder I found online that was using the MNIST dataset (implemented in Keras). Running the script worked perfectly, but I got the warning when I changed it to fit my own data. My image data (which are League of Legends champion splash art) has dimensions of 300 x 210 pixels, whereas the MNIST dataset has dimensions of 28 x 28 pixels. It could be that your dataset is too big, which is why Tensorflow is using too much memory. As the answers stated above, try to get Tensorflow to use more than 10% of your memory.

So much information and no mention of TF version..
I tried to move from TF 1.13 to 1.14 and I get multiple problems. Nothing what worked in 1.13 works in 1.14..
For instance - i get the discussed warning on 10% memory use in conjunction with various errors when I try model.fit.. It complains on data types, i change data types it says Session bla-bla not found and some other error.
TF 2.0 is in beta and has no TPU support..
Idk - having billions of pounds in cash and not able to release a working version for more than a year.. tut tut google..

I have the same issue "2019-10-01 16:56:36.080697: W tensorflow/core/framework/allocator.cc:107] Allocation of 135475200 exceeds 10% of system memory."

NO，I just found what's the problem is. May be your model contains too much variables , such as a big Dense layer (FC) , and check out your data type, float64 is lager than float32, and last , some optimizer will make this problem too, such sa adam , it will allocate double memory of model size, because it will save the history grads.

Got it. Thanks!

@reinaldocmendes I think you should try to reduce your batch size, because after some time probably the process will be killed

my batch size is 1 but still i faces this problem.

same issue and after trying all the way below, i found it work if I close Chrome...

I had a similar problem: the message about exceeding 10% of system memory and then Killed message and the program exiting. I was running tensorflow program on a very low-end machine (Ubuntu 18.04 on t2.micro on AWS with 1GB RAM). What helped in my case was realizing that it had no swap file configured by default. After adding the swap file the problem was gone. I'm not sure if that's connected to everyone else's problems but maybe it'll help someone.

Thank you, this worked so well

The solution quoted by @tash149 works like a charm! I'm training YOLOv3 with TF2 on AWS, using a NVIDIA T4.
Details on how to set it up here: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/

you have to reduce the number of parameters

@lendrom message quoted below helped me:

I had a similar problem: the message about exceeding 10% of system memory and then Killed message and the program exiting. I was running tensorflow program on a very low-end machine (Ubuntu 18.04 on t2.micro on AWS with 1GB RAM). What helped in my case was realizing that it had no swap file configured by default. After adding the swap file the problem was gone. I'm not sure if that's connected to everyone else's problems but maybe it'll help someone.

I had the same exceeds 10% of system memory. warning after which my application was crashing.
I followed this instructions: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/ to add a swap file to the t2.micro instance I was using.
Now I still get the same warning, but the application does not crash.

For me this fixed the issue:
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(gpus[0], True)

For me this fixed the issue:
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(gpus[0], True)

Im having this issue running a jupyter notebook, the kernel connection then breaks. Is there any way to increase the memory allocated to tensorflow?
Im already at batch_size=1 and enabled memory growth on the GPU.
BTW, is this the GPU memory that is exceeded or is it the RAM memory?

same issue and after trying all the way below, i found it work if I close Chrome...

it works for me too. I wonder why...

same issue and after trying all the way below, i found it work if I close Chrome...

it works for me too. I wonder why...
Chrome eats up a lot of memory, so maybe that's the reason. If you close Chrome, you have more memory left for Tensorflow.

Try this https://github.com/OzzyProjects/Tensorflow

same issue and after trying all the way below, i found it work if I close Chrome...

it works for me too. I wonder why...

Chrome eats up a lot of memory, so maybe that's the reason. If you close Chrome, you have more memory left for Tensorflow.

but my device monitor says only 38% memory is used

same issue in my windows os environment,but OK in my mac,this is odd

my windows computer have 16GB RAM and my mac just have 8GB RAM

at my Mac 2021-04-02 12:45:20.785361: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
2021-04-02 12:45:20.788755: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency:<PHONE_NUMBER> Hz
Killed
my Mac has 16G RAM
would you mind sharing your envs?
my tf is 2.4
thx

I have 64G RAM and i9 10900k and RTX 2080 Ti but despite it all, i had this problem with tensorflow before i use the script. Weird too because on my portable i have an i7, 8go ram and i'v never had any issue with tensorflow, running the same script.
try installing tensorflow 1.14

This is a huge problem for me right now, I cant even finish a single epoch.

Facing this problem in Linux and not in Windows 10.

Same problem.
Allocation of 963379200 exceeds 10% of free system memory
Why do those smart guys think memory warning is a small problem?
I have 16G RAM, 50% used. But I still got the memory warning!!! @bignamehyp

OK, it just a warning which notice you that the memory tensorflow try to allocate is bigger than 10% of your free memory.
It doesn't mean tensorflow failed to get the memory it want.  When this warning happened , check your free memory, if it is bigger than the number which tensorflow warning, you don't need to care about it.  If you really care, close other application or add physical memory.
At lots of time, problem is caused by arrogance. Those 'smart' guys feel shame to communication with others equally.

swapfile worked for me, thanks (had to add 10G!!)

您好，我已收到您的邮件并会尽快处理，祝您工作顺利，生活愉快！——刘源

I have the same issue on ubuntu desktop 20, tensorflow 2, 8gb ram, 4 cores

Same problem here in jupyter notebook, even after increasing swap size to 10GB (I checked and it does not use it all), it's sometimes fixed if I restart the kernel, it feels like there might be some "garbage" left/cached or something that gets cleaned after restarting, does that make sense?

@raquelhortab I'm also getting the issue in jupyter notebook.

您好，我已收到您的邮件并会尽快处理，祝您工作顺利，生活愉快！——刘源

Thanks you. I'll stay in touch.

In my case, I was running jupyter notebooks inside of a docker container, where the docker host machine was configured to allow only up to 2GB of memory usage. I did a vanilla install of jupyter via pip and was able to circumvent the error.

您好，我已收到您的邮件并会尽快处理，祝您工作顺利，生活愉快！——刘源

tensorflow/tsl/framework/cpu_allocator_impl.cc:82] Allocation of 96000000 exceeds 10% of free system memory.
I face this error how to fix it can anybody explian.

您好，我已收到您的邮件并会尽快处理，祝您工作顺利，生活愉快！——刘源


fix(Makefile): check for dev registry before build

just realized that this is necessary so the image name is fully formed. +1


Drop-down widget

This task is automatically imported from the old Task Issue Board and it was originally created by Wojciech Daniło.
Original issue is here.

Team
Technical Designer: Wojciech Danilo
Implementer: Pawel Grabarz
Acceptance/QA: Adam Obuchowicz
Why
The drop-down widget is the most important widget that we want to display on nodes. The idea is that the user of Enso does not have to type expressions, not learn by heart the names (like the column names), and is able to choose them from a list.
Acceptance Criteria
The drop-down widget appears on nodes in every place where the libraries are providing us with metadata that a drop-down should be displayed.
Design
This description is a refinement of a design created by our engine team. Please read these documents first in order to know the context of how widgets will work on the engine side: https://github.com/enso-org/design/tree/main/epics/widgets/drop-downs
See the attachments with mockup images.

Implementation Plan
This is a bigger feature that needs to be split into several stories. This section contains a proposal for such a split. The plan should be discussed between teams (GUI and Engine), and the planning management (Sylwia and Greg). Then, adjustments to this plan should be made and the plan should be split into tasks.
Please remember that in many cases an additional API might be required on the Engine side. If delivering of this API would take so long that it will block the work on the GUI side, a mock API should be delivered first (we did it multiple times, and it works well).
Step 1: implementation of a simple drop-down and integration with the node view.
Delivery requirements:

A first drop-down implementation should be created. It should be just a list of entries, allowing a single entry selection, scrolling, and nothing more (no filtering, no displaying of old values that are not on the hint list anymore, etc.). From a technical point of view, this should be a simple wrapper over the Grid View component.
The drop-down widget should be integrated with nodes. When the node input ports are re-drawn, we first get an AST description from the GUI backend (produced by the engine). This description contains type information and other data. It should contain hints regarding what widget to use for a particular input field. If this info is missing, adding this info is part of this task (in collaboration with the engine team). In order to make the implementation on the engine side easier, in Step 1, we should support only "static drop-downs" (where the drop-down hints do not depend on the runtime data, for example when hinting variants of a struct).
When we get information that a particular node's input port is a drop-down widget, the GUI backend should be queried for all possible entries for the drop-down. The GUI backend should then use engine API to get this data and send it to the widget view. In order to simplify the implementation on the engine side, in Step 1, we should obtain all the data (in the next steps we will refine it to a lazy query).
After clicking an item from the drop-down widget, the AST/code should be modified accordingly.
The widget should be integrated both with the main IDE entry point as well with the interface debug scene.

Technical comments:
Please, be very careful when changing the logic of the input ports implementation. It's not big, but it's fairly complex. It was designed in a particular way for a few reasons. The input ports are part of the node expression, while the expression can be hierarchical, like foo [1, 2, bar x]. It should be possible to connect the input port to any of  foo [1, 2, bar x], foo, [1, 2, bar x], 1, 2, bar x, and x (this is currently implemented). In the future (this is not part of this task), we also want to support connecting inputs between list items with automatic comma insertion. In order to support this use case in a general way, our parser was designed in such a way, that most of the syntax elements (like array literals) are macros, whose structure is described by regexp-like expression, that we can analyze after parsing. For example, we can analyze it to understand that after inserting an element after 2, a comma should be inserted.
Step 2: Support for dynamic data (important to be done ASAP for demo purposes)
Delivery requirements:

The implementation should be refined to work with dynamic data. For example, the remove_column node should display a drop-down with a list of all column names.

Step 3: Support for multi-selection
Delivery requirements:

The implementation should be refined to allow a multi-selection of entries. The information if the widget should allow multi-selection should be delivered from the engine together with the information that a particular input should be displayed as a drop-down widget. See the widget metadata design to learn more: https://github.com/enso-org/design/blob/main/epics/widgets/drop-downs/dynamic-widgets.md

Step 4: Sorting and lazy loading the data.
Delivery requirements:

The drop-down widget should display a sorting icon (with 3 states: off, sorting in ascending order, and sorting in descending order. See the attached mockup image.).
In this step, the data provided to the widget should be provided in a lazy fashion. The engine should expose an API allowing for Enso expression evaluation from the widget. The API should be very similar to the lazy visualization API with one difference - in the case of lazy visualization, the input data is produced by the previous node. In the case of lazy widgets, the input data is produced by evaluating the expression placed in code metadata (see the metadata design to learn more: https://github.com/enso-org/design/blob/main/epics/widgets/drop-downs/dynamic-widgets.md).
The Enso expression produced by the widget should use the caching mechanism. In particular, when scrolling a sorted list of entries, the sorting should be done as the first expression part, it should be cached, and should not be recomputed when the list is being scrolled. While scrolling the list, another expression part should be modified (something along the lines of "give me the entries 500-520").
Please be sure that the cached data on the GUI side (e.g. after loading some data to the drop-down view) is correctly invalidated when nodes are recomputed (this information should come from the engine and is probably already there, as other GUI elements depend on this behavior).

Step 5: Filtering the data.
Delivery requirements:

When the drop-down is clicked, the list of entries is displayed. In this state, when the user starts typing, the typed text should be displayed instead of the current value (on the node). The entries should be filtered in "real-time" on the engine side. This should be done in the same way as scrolling and sorting (just by creating another expression which should be computed on the engine side before the widget gets the final data).
The filtering should allow for regexp input. The text typed by the user should be just fed into our regexp library on the engine side.
The matched letters should have different color and should be displayed in bold (in the same way as letters in the component browser search).
After pressing "enter", the best match should be used. After pressing "ctrl + enter", the typed text should be used as-is. This behavior should be the same as in the case of the component browser.

Step 6: Showing the obsolete data.
Delivery requirements:

In this step, the drop-down should be refined to display on the list of entries obsolete data, data that was chosen but is no longer available to be chosen. For example, the user could have chosen a table column name, but the table changed and it does not have this column anymore. The chosen entry should be displayed just as an ordinary entry but should have a different color (to be designed closer to the implementation of this step).
Drop-down widgets should allow deselecting an obsolete entry, selecting an existing one, and then selecting the obsolete entry again. Basically, the obsolete entries should not disappear from the drop-down until the node is recomputed, or until the user changes the view to another part of the graph (e.g. by entering a node).

Blockers:
https://www.pivotaltracker.com/n/projects/2539304/stories/183855312 resolved
#183970089 blocked
#184012743 blocked
#184012753 blocked
#184012776 blocked
#184012788 blocked
#184012807 blocked
Comments:
(Wojciech Daniło - Dec 1, 2022)

@Frizi @wdanilo is it done? can we close it? this is an umbrella task for the drop-down AFAIK

Step 4, 5 and 6 are not done yet. Given our current priorities, we won't work on it any time soon as well.

Some time ago we were also discussing a scope change of those tasks as well.

Step 4, 5 and 6 are not done yet. Given our current priorities, we won't work on it any time soon as well.

Could you please edit the main description off the task and add there checkboxes or anything like DONE / TO BE DONE to indicate the current progress of it, please?

@Frizi please see the above. When can you do that?

Status added.


Using password with special characters

Hello,
I've been using usql by running it via python subprocess on Windows Server, forming DSN URL like
mssql://{sqluser}:{sqlpass}@localhost:{listener_port}?database={sqldb}

However when password contains special characters, specifically "#", windows probably interprets it as a comment so usql complains about wrong DSN.
So i wanted to add that password into .usqlrc file (by also creating it in python) but, as you guessed, it's also interpreted as a comment and then usql complains about having an empty field.
How would i escape hash/comment characted if it's part of a password? I tried URL encoding it with %23 but it didn't work.

URL encoding is the right way,maybe there are other characters? If you only tried the encoded pw in usqlrc, see if the entry gets matched correctly. You need to provide the right proto, hostname, port, and username

Nope, all other characters are alfanumeric. Only two octothorpes/hashes are in password.
Proto, hostname is all *, example:
mssql:*:*:*:*:%23alfanumeric%23alfanumeric

And for DSN i use:
mssql://sa@localhost:62275?database=dbname

And i get 'Login failed for user 'sa'.
If i use same DSN - different port for different DB and different password entry in usqlrc file with password without # but with + which is also urlencodable but I've added it just plain '+' without encoding it - it will work. So wondering if encoding is even needed/honored from usqlrc ?

@maretodoric please try connecting directly without the .usqlpass file. Are you able to connect? Display what your actual connection string is from within usql by using the \conninfo meta command.

Yup, connecting directly (with urlencoding hashes) worked.
So urlencoding it in .usqlpass doesn't work for some reason. \conninfo displays something like:
Connected with driver sqldriver (sqlserver://sa:%23password%23password@localhost:...

Can you try using sqlserver in usqlpass? Mssql is an alias.

Yup, connecting directly (with urlencoding hashes) worked.
So urlencoding it in .usqlpass doesn't work for some reason.

@maretodoric same here
I am using PostgreSQL.

it seems the password can't include : either. I am trying to connect to sql server and parsing the string fails.
usql ms://admin_username:pass:Tord@host/instance/dbname
invalid port ":T" after host.

You need to URL escape the password:
$ usql ms://admin_username:pass%3ATord@host/instance/dbname

I too have login failed in mssql connection string when password contains this symbol %


Add status indicators to hajimari apps

Description
This PR adds status indicators to the dashboard. There is a passive feature toggle-ish setting currently defaulting to true that can be flipped if desired.
Type of Change
Feature: Non-Breaking Change that adds functionality. While the annotation parser defaults to true, this could be considered slightly breaking as it could cause things to not work as expected.
It will require some documentation update(s)
Issues pertaining to this PR
technically resolves #20
Other Notes

Tested against k3s v1.23.3. Used Vivaldi and Chrome.
There may be a method or two that are extraneous as it was for a templating thing I was trying to do that hasn't worked yet.
I'm hoping to eventually build on this to segment the indicator based on # of replicas and have the indicators work for each.
Indicators do not refresh live. It uses the state it gets when the page loads.

I'm happy to add more unit tests or make tweaks if you want me to before this is merged. I'm also happy to make tweaks and improvements after provided an issue is defined for it.

Thank you so much for your efforts, this is a fantastic feature!
Do you think it will look cleaner if we use simple dots like the mock up below? (just my personal opinion, please ignore if you don't)

I think we can use multiple dots or multiple colors:

green: all replicas are available
orange: at least 1 replica is available
red: none available

@toboshii Is that something you want me to add in this PR or keep it for the next PR as the replica detection is new functionality?

Closing in favor of #45


Update MD file on new branch 2017-21-10_14-11-18

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix WatchKind.type.name to match JSON Schema

If I understand JSON Schema right uinteger isn't allowed value of name property (only string and integer are allowed):
    "EnumerationType": {
      "properties": {
        "name": {
          "enum": [
            "string",
            "integer"
          ],
          "type": "string"
        }

WatchKind is defined as uinteger in the spec, though. If anything, the enum should have uinteger added.

@reznikmm thanks for the PR.
We shouldn't edit the meta model by hand. It is generated in the vscode-languageserver-node repository from the source  code. I will regenerate the model and update it.


Unable to drag move custom area box

As of 1.11.3 FSE-Planner has lost the ability to click and drag to move the custom area box when selecting a area to load data from.

You are right, it was a side effect of a library change in last update. I have found a fix, it will be released in the next update.


a2ea0dfe-2bc4-40e5-a7a7-c5c419271440

this is for automated testing

4fc8316e-03d6-46ca-975a-266f6da83658


fix(gcc): use lock to read ssrcToWriter

Description
Use writerLock to ensure no concurrent read and write error
Reference issue
Fixes #106

Hello, thanks for you contribution!
I think in order to keep things efficient here, we have two solutions:

use a lock, like you did, but switch writerLock to a sync.RWMutex and use p.writerLock.RLock() / p.writerLock.RUnlock()
or get rid of writerLock, and switch ssrcToWriter to a sync.Map

I think in this particular case (few writes, lots of reads), the sync.Map solution would be faster – but I haven't benchmarked this, I might be wrong :)


Fix bicep

 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.:x: hugogirard sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


HHH-16462 Share the same Jandex Indexer while indexing different files

https://hibernate.atlassian.net/browse/HHH-16462

Thanks!


Fix glyph size when rendering text

Summary
There's a bug in <GLText /> resulting in some characters being cropped when rendering:

The problem is that we're not taking into account the small margin (named BUFFER in the code) for each glyph that is used when computing the SDF for the font.
This is the result after my fix:

I added a comment and a test as well
Test plan
Added a story to make sure each character is not cropped. It will help if we change the font in the future (I noticed a comment about that).
Versioning impact
This should be a patch. No new functionality was added.

we're not taking into account the small margin (named BUFFER in the code) for each glyph

Isn't this what the srcOffset is doing? Is the descender actually going outside the BUFFER area? It seems like your change has made all the text slightly smaller and I'm not sure if that was intentional (probably doesn't matter since the size is kind of arbitrary anyway).

@jtbandes you're right. It makes more sense to use srcOffset to handle this fix and prevents the scaling issue. Then, the solution is to duplicate the BUFFER offset for the y-coordinate to make sure the descent is not cropped.

One quick nit: When either the background color/highlighting is enabled, I noticed that the added buffer is disproportionate to what's on top of the text. Not necessary to address here, but maybe add a ticket to tackle later?

@troygibb You are right, the background is not balanced. That is because is now leaving more margin for those characters that have a descent, like 'g':

I think we should open a separated issue for solving this and probably consult with our designer about how it should look. What do you think?

duplicate the BUFFER offset for the y-coordinate to make sure the descent is not cropped

Not sure if this is right either. Here is my mental model:

So, the difference between info.x/info.y and the srcOffset should be only 1x buffer, unless this picture is wrong.
I guess the question is, where does the descender actually fall within this box?

So, the difference between info.x/info.y and the srcOffset should be only 1x buffer, unless this picture is wrong.
I guess the question is, where does the descender actually fall within this box?

@jtbandes Yes, the image is mostly right, but there's something missing. Buffer is used by TinySDF for the empty space between characters. It doesn't really has to do with baselines and descenders. You can make it as big as you want, but the descenders are still cropped.
In our case, we're always a small amount of pixels off from the correct vertical center. I though it was BUFFER (10 units), but it's not. BUFFER works ok for some font resolutions, but not for all of them. So, after some experimentation, I came up with a value that works on every test scenario and it's dependent on the font resolution.
BTW, I'm not 100% sure, but this might be related:
https://github.com/mapbox/tiny-sdf/issues/11


After upgrading to 1.95.0, the "Source Control" panel no longer stays in sync with my git repo

Type: Bug
Since upgrading, I've noticed that the "Source Control" panel does not stay in sync with my git repo. I find myself invoking "reload window" a lot throughout the day to fix the problem. This wasn't an issue before, but now I run into it constantly.
Example repro:

Add/modify files (through vscode or externally)
Source Control panel updates to show changes
Commit (from the command line)
Source Control panel still shows modified files until I "reload window"

VS Code version: Code 1.95.1 (65edc4939843c90c34d61f4ce11704f09d3e5cb6, 2024-10-31T05:14:54.222Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (8 x 2995)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
undefined

Memory (System)
15.71GB (2.63GB free)

Process Argv
--log trace --crash-reporter-id 4c14e0ab-6323-4be2-8ea1-b8ae8d1b35aa

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

copy-relative-path
ale
0.0.2

turbo-console-log
Cha
2.10.5

githistory
don
0.6.20

prettier-vscode
esb
11.0.0

gc-excelviewer
Gra
4.2.62

jenkins-declarative-support
jmM
0.1.0

code-groovy
mar
0.1.2

better-folding
Moh
0.5.1

color-highlight
nau
2.8.0

material-icon-theme
PKi
5.12.0

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
vscrpc:30673769
962ge761:30959799
pythongtdpath:30769146
pythonnoceb:30805159
asynctok:30898717
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
jg8ic977:31013176
dvdeprecation:31068756
dwnewjupytercf:31046870
impr_priority:31102340
nativerepl2:31139839
refactort:31108082
pythonrstrctxt:31112756
cf971741:31144450
iacca1:31171482
notype1cf:31157160
5fd0e150:31155592
dwcopilot:31170013

Correction: after downgrading to 1.94.2, I am still seeing this, so it's not a new issue in 1.95.x.
This may be related to the fact that we use the "rebase" approach (we use Gerrit, not GitHub, for source control). When I notice this problem happening in vscode, I can see "Rebasing" in the lower left of the screen, even when I'm not in the middle of a rebase. After reloading the window, "Rebasing" (correctly) disappears and I see "trunk" instead.

/gifPlease

In the screenshot above, you can see that git status is clean on the command line, but vscode is still showing that I have a lot of file edits. Sometimes this resolves itself, but usually I have to reload the window to get vscode to show the correct repo status.
It might be helpful to know that we follow the "Gerrit workflow" (not the GitHub workflow), whereby we are constantly doing interactive rebases, editing past commits, and then pushing those changes (as opposed to pushing new commits onto a fix branch).

Here's another instance of vscode falling out of sync, but in the opposite direction:

The status bar says I'm rebasing, but I'm not (I already finished). In this case, I have staged git changes that are picked up by the command-line tools, but not being picked up by vscode. Again, reloading the window fixes things and vscode lists the files with changes.

Updated title to reflect the fact that this happens with versions before 1.95.0 as well.

Facing the same issue after upgrading to 1.95.3.
Changes are not automatically reflected in Source Control, but only after clicking "Refresh".

The Source Control view is being refreshed by parsing the output if git status which is being executed as a response to file system events. Some git operations may result in a large number of file system events being emitted and in such cases it may take some time for VS Code to "catch up" but it should always do so. When things get out of sync could you using the "Refresh" action in the "Source Control" view? It would be interesting to see if that resolves the issue.
It would also be very helpful if you would find a scenario in which the issue can be consistently reproduced so that I can try to reproduce the issue and debug further.

In my case clearing the cache, rebooting my system, and disabling/enabling several extensions was the fix eventually.
I could recommend doing the same, hopefully one of the above or a combination will do the trick!

Some git operations may result in a large number of file system events being emitted and in such cases it may take some time for VS Code to "catch up" but it should always do so.

This seems like the right explanation for what I'm seeing, since I often make edits to dozens or hundreds of files and then rebuild possibly dozens of packages.

When things get out of sync could you using the "Refresh" action in the "Source Control" view? It would be interesting to see if that resolves the issue.

Sure thing, I'll give this a shot the next time.

I often make edits to dozens or hundreds of files and then rebuild possibly dozens of packages

Are the packages something that you track in source control?
If they are not you might want to look at the files.watcherExclude to exclude these from the file watcher.

Are the packages something that you track in source control? If they are not you might want to look at the files.watcherExclude to exclude these from the file watcher.

Yes, everything is in source control. node_modules is already being excluded from vscode, and that's really the only part of the directory tree that should be ignored.

When things get out of sync could you using the "Refresh" action in the "Source Control" view? It would be interesting to see if that resolves the issue.

Sure thing, I'll give this a shot the next time.

Clicking the Refresh button fixes the problem immediately. It's not clear why it's not syncing on its own.

Thanks for confirming that pressing the "Refresh" button correctly updates the state of the "Source Control" view state. That only thing that I can think of is that when there is a large number of file-system events, they stop being delivered to the vscode.git extension hence we do not refresh the state of the view.
To further investigate it would be great if we could come up with a "repository state" + a set of steps that we can use to reproduce the issue. If we have that, we can enable verbose logging and try to understand what happens with the file-system events.

That only thing that I can think of is that when there is a large number of file-system events, they stop being delivered to the vscode.git extension hence we do not refresh the state of the view.

I was able to repro this today without doing much. After finishing an interactive rebase where I made simple edits to a previous commit, I started editing a package by making a few new files and copying a few others. It was really light file system work, and the panel did not update until I clicked refresh. At this point, my best guess is that the interactive rebase process confuses vscode.