License

Wondered if you might be willing to attach a specific license to this project? Proposing MIT License. Thanks!

LGTM!


make back-end DBMS-agnostic

Update in server.ts

[x] step 1: get DuckDB working in place of PostgreSQL
[ ] step 2: get another back-end (MonetDB?) working in place of DuckDB and PostgreSQL
[x] step 3: generalize based on the previous steps, maybe copy the config structure from the crossfilter benchmark.

Steps 1 and 3 completed in eb29a6bcd17ff5fa0ce0ef84a54dc5105da97837


Adding support for Python 11

Bumping aiohttp version. There is some test fails, idk maybe it's not related to Python version. Thanks!

are you sure it's safe for any other packages inside? have you tested?

Yes, I tested, all works as expected

@HMaker plz take a look when you have a time
btw it's a good time to test and bump CDP supported version

Thanks for the PR. I also updated the CDP version to Chrome 117.


becomes unresponsive after C-b .

I typed C-b . and rather than asking me which window position to move it to, giving an error, or doing nothing, it became unresponsive.

Hi @benatkin,
Thanks a lot for reporting this. It's a bug indeed. (Happens on Python 2 only.) I'll fix it asap.
$ cat /tmp/pymux.crash
Traceback (most recent call last):
  File "/home/jonathan/git/pymux/pymux/main.py", line 489, in run_server
    PipeInput(), DummyCallbacks())
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/eventloop/posix.py", line 150, in run
    t()
  File "/home/jonathan/git/pymux/pymux/server.py", line 55, in _recv
    self._process(self._recv_buffer[:pos])
  File "/home/jonathan/git/pymux/pymux/server.py", line 70, in _process
    self._inputstream.feed(packet['data'])
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/terminal/vt100_input.py", line 348, in feed
    self._input_parser.send(c)
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/terminal/vt100_input.py", line 285, in _input_parser_generator
    self._call_handler(prefix[0], prefix[0])
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/terminal/vt100_input.py", line 300, in _call_handler
    self.feed_key_callback(KeyPress(key, insert_text))
  File "/home/jonathan/git/pymux/pymux/server.py", line 32, in <lambda>
    lambda key: self.cli.input_processor.feed_key(key))
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/key_binding/input_processor.py", line 172, in feed_key
    self._process_coroutine.send(key_press)
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/key_binding/input_processor.py", line 144, in _process
    self._call_handler(matches[-1], key_sequence=buffer)
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/key_binding/input_processor.py", line 187, in _call_handler
    handler.call(event)
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/key_binding/registry.py", line 32, in call
    return self.handler(event)
  File "/home/jonathan/git/pymux/pymux/key_bindings.py", line 267, in key_handler
    call_command_handler(command, self.pymux, event.cli, arguments)
  File "/home/jonathan/git/pymux/pymux/commands/commands.py", line 93, in call_command_handler
    handler(pymux, cli, arguments)
  File "/home/jonathan/git/pymux/pymux/commands/commands.py", line 149, in command_wrapper
    func(pymux, cli, received_options)
  File "/home/jonathan/git/pymux/pymux/commands/commands.py", line 452, in command_prompt
    format_pymux_string(pymux, cli, variables['<default>'] or '')))
  File "/home/jonathan/git/python-prompt-toolkit/prompt_toolkit/document.py", line 45, in __init__
    assert isinstance(text, six.text_type), 'Got %r' % text
AssertionError: Got ''

Jonathan

Hi @benatkin,
This should be fixed in the following commit: https://github.com/jonathanslenders/pymux/commit/41c3e76493ef646b77e108f3a0f632241001d992
I will try to push a new release ASAP.
Jonathan

A new release has been pushed to Pypi. Can you please try again?


Add to documentation all fo the *_CACHE environment variables that can be configured.

Is your feature request related to a problem? Please describe.
It's frustrating when first getting started and trying to configure the cache settings that 1. the cache structure isn't really clearly documented (i.e. not only what the structure is, but when and which tools download into which parts of it); and 2. the different variables that control those settings.
Describe the solution you'd like
One of the documents pages, perhaps the Manage Cache page, should just have the config variables listed and described.
Describe alternatives you've considered
Just use the default $HOME/.cache and symlink out variable parts of the cache to external drives.
Additional context

Hi @amcox886, all environment variables are listed here. Also the manage cache page says

The <CACHE_DIR> is usually your user’s home directory. However, it is customizable with the cache_dir argument on all methods, or by specifying either HF_HOME or HF_HUB_CACHE environment variable.

Would you like to open a PR to link the environment variable page from the manage cache page? Maybe that would create less confusion.
Regarding when and which tools download into which parts of it, that's a difficult one. Tens of libraries are using huggingface_hub under the hood to cache files from the Hub so we can't really document the usage of it, only how it works internally.


Cherry-pick pull request #17394: [BEAM-14014] Add parameter for service acc…

…ount impersonation in GCP credentials
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PreCommit


Removed some if/else spaghetti code, read commits for more info

I wanted to contribute ¯_(ツ)_/¯.
Didnt change anything major, just removed unneeded spaghetti code.

Thanks


Clean up and prettify gradle and root files

Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradlew app:connectedGmsDebugAndroidTest to make sure you didn't break anything (with an emulator running or phone connected) I couldn't get the emulator itself running (probably because I don't really know what I'm doing), but running :app:assembleGmsDebug was successful.

[x] If you have multiple commits please combine them into one commit by squashing them.
I don't know how to do that from my end, but I believe you have the option to squash the commits when merging.

1st commit

Simply updating the gradle wrapper to 6.3 using ./gradlew wrapper --gradle-version 6.3 --distribution-type bin

2nd commit

Merged the two module .gitignores into the root .gitignore
Delete unused lib files
Delete build.xml leftover

3rd commit

Add buildTools 29.0.3
Grouped up dependencies
Update Android Studio 3.1.4 -> 3.6.2
Fix some spelling errors

Cheers!


What's going on here? "handler = std::move(handler)"???

    What's going on here? "handler = std::move(handler)"???

Originally posted by @carneyweb in https://github.com/CppMicroServices/CppMicroServices/pull/766#discussion_r1047214460

example: https://github.com/CppMicroServices/CppMicroServices/security/code-scanning/109

re-worded as #864


.github/workflows/tests: disable codecov until further notice

The script hangs while pinging codecov for a url to upload the results to.

merging as the test wf succeeded, let's just unblock ci


Add support for pic32 platform

Adapt common and client modules for pic32 with MICROCHIP_PIC32 definition
Note: pic32 specific lwm2m_util + abstraction modules created for the Microchip Wifire (chipkit) are not included.

retest this please


drivers: sensor: sensor_value_to_double requieres non const sensor_value pointer

When const struct sensor value *  is given, a pointer cast is needed to get rid of the const
qualifier e.g., you want to set an attribute given as sensor_value.
As I would not expect sensor_value_to_double to change the value of its parameter anyways,
I would propose to add the const qualifier there:
static inline double sensor_value_to_double(const struct sensor_value *val)

Would you mind opening a PR?


Update comparsion docs to add file viewer items

Codecov Report

Merging #4865 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4865   +/-   ##
=======================================
  Coverage   37.22%   37.22%
=======================================
  Files         305      305
  Lines       45043    45043
=======================================
  Hits        16769    16769
  Misses      25839    25839
  Partials     2435     2435

Continue to review full report at Codecov.

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


release scVI v0.2.0

Let's tag the scVI code as v0.2.0 and push it to pip and conda once #142 and #149 are merged.

Done in #59a2f93
PR for conda recipe: https://github.com/bioconda/bioconda-recipes/pull/10803


Poor documentation for client authentication using certificates.

At the moment the documentation does not explain how to authenticate a user using a client certificate.

Hi @tconnard - can you please either raise a PR contributing any documentation you may have from steps you've used for authentication with certificates or open an issue on https://github.com/opendistro/for-elasticsearch-docs for this documentation to be added.

Closing out in favor of https://github.com/opendistro/for-elasticsearch-docs/issues/254


Czech date

Hello I would need change english name of months to czech names.
January - leden
February - únor
March - březen
April - duben
May - květen
June - červen
July - červenec
August - srpen
September - září
October - říjen
November - listopad
December - prosinec
It will work ?
Thanks,
Infin

Date and time formats are handled by PHP and I do not manually specify the message for each month. As of right now, you'd be better off looking into changing the PHP locale and formatting dates accordingly. I am not sure when I might implement this into ab-web-addon, but here is a Stack Overflow post to get you started: https://stackoverflow.com/questions/6910912/change-the-language-for-date-in-php.

ok thanks

Regarding the latest update, dates and times are now managed through the client and should use the format of the language they have selected.


rml ontology server down

The name-space for rml in the doc is
http://semweb.mmlab.be/ns/rml#
but the server is down.
I checked to see if it was just for me, but not according to this web site:

I could not find a link from the doc to the git repo which would have allowed me to log an issue directly with the right repository. But as this group is using that ontology I guess you know where to look.

On my side it works. Maybe it was only down for a brief period?

yep the server is up again and I can get the rml ontology.
But  I can't get the ql namespace.
> curl -i http://semweb.mmlab.be/ns/ql
HTTP/1.1 404 Not Found
Date: Mon, 11 Jul 2022 12:30:55 GMT
Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 12
ETag: "703595115"
Vary: Accept-Encoding

Nothing here%

Intellij has a nice plugin (finally) that allows one to fetch the ontologies to help editing. https://twitter.com/bblfish/status/1513963356641808402

btw. is there a repo for where I should make such a report.


Collection level script are not imported

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
Hello
Testing the new import feature (https://github.com/usebruno/bruno/pull/3334), I've seen that import correctly work for folder level script, but not for collection level scripts
You can test this with de attached postman collection
Test import.postman_collection.json
.bru file to reproduce the bug
No response
Screenshots/Live demo link

Hey @bhecquet,
Thank you for reporting this bug. We are working on it and will fix it in the upcoming release.

Thanks for reporting this issue. This issue has been fixed, I am closing this ticket.


Fix Travis CI badge in README

This changes the URL to point to the correct Travis CI badge.

thanks for the fix!


Fix visibility of xy_orbit_view_controller

The new orbit view controller was not yet exposed.
This becomes visible when running display tests on Windows, which are still disabled on the OSRF jenkins, so only our CI caught the issue.
CI:

Linux
Linux-aarch64
macOS
Windows

@Martin-Idel-SI CI Tip: In case you don't know about it, when testing changes affecting only this repository, you can add --packages-select-regex rviz to the CI_TEST_ARGS line.
This will allow you to run tests only for the packages containing rviz in their name and should reduce significantly the job duration

New mac CI:

macOS


Obtain maps

Obtain the existing maps that are manually created and printed.
-[ ] Vector maps
-[ ] Index maps
-[ ] Spray maps

maps have been sent via email.  please close this issue when complete (i am unable to).


feature request: batch processing of text

The current version of EE supports only processing a single text string. The reasons are,

the entity linker API (wikidata) has a limited number of request
storage

Storage?! We should discuss that (with nicolas)

yes. it was the topic we mentioned briefly regarding processing tweet stream. There is no problem in processing batches locally.

So my take is: We build a service and if someone wants to use it, they have to take care of the scalable (distributed architecture). That is not part of this service.

yay


Evalute results on both approaches 7B and 70B using well-known metrics for summarization

ROUGE METRIC is implemented for the 7B  model in commit a324e93

ROUGE METRIC is implemented for the 70B model in commit 0d428e2


feat: allow custom suffix prop

Allow custom suffix option.
Issue: #99

Codecov Report

Merging #126 (ce22891) into master (da10c81) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #126   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines          296       308   +12
  Branches       106       111    +5
=========================================
+ Hits           296       308   +12

Impacted Files
Coverage Δ

src/components/utils/getSuffix.ts
100.00% <ø> (ø)

src/components/CurrencyInput.tsx
100.00% <100.00%> (ø)

src/components/utils/formatValue.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #126 (ce22891) into master (da10c81) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #126   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines          296       308   +12
  Branches       106       111    +5
=========================================
+ Hits           296       308   +12

Impacted Files
Coverage Δ

src/components/utils/getSuffix.ts
100.00% <ø> (ø)

src/components/CurrencyInput.tsx
100.00% <100.00%> (ø)

src/components/utils/formatValue.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Excel reader skips rows

The reader skipped rows 100-198 in an excel file consisting of 202 rows. This must be re-tested and fixed.

Refactored the cell parsing implementation, but a test should be written and passed before this issue can be closed.


"Bulbuc" is listed in the drop-down menu

Description:
"Bulbuc" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Bulbuc" in the search bar.

Expected results
The location is listed in the drop-down menu as "Bulbuc, Alba (Ceru-Băcăinți)".


no_args_is_help for command?

When creating a MultiCommand (like a Group), there is a useful option no_args_is_help -- if set, invoking the group without a parameter or subcommand prints the help message for the group, e.g. program is equivalent to program --help.
However the same option doesn't exist for subcommands, so program subcommand produces an error message -- is not equivalent to program subcommand --help.
Is there an option I'm missing?
Thanks

I'd like to use no_args_is_help in just command as well.

I did a pull request. https://github.com/mitsuhiko/click/pull/502

Hello @jdell64, sorry for the late response!
I don't think using this option would be a good idea, since it obscures the reason the usage was invalid. I'd prefer a solution a la https://github.com/pallets/click/issues/393, which seems like a perfect middle-ground that prevents us from adding options for every single color of the bikeshed.
At the same time just showing help sort-of makes sense for groups, although I do wish that there'd be an error message at the top, explaining why click shows the help.

I was trying to emulate some old command-line applications that do this:
Linux

ping
sudo
ssh

Windows

ping
ssh

And other examples.
To your point, not all applications do this:

cp

There are some (I cannot remember which) that do both:
someCommand.exe
Error: missing arg0 - filename
{help text here}

Click has some very strong opinions about how a good CLI should look (e.g. #108) Using it as a way of emulating another interface is going to fail badly, especially as those interfaces may not be consistent and would require Click to be inconsistent (either by default or via opt-in) as well.

Does the code I submitted introduce instability or it just doesn't conform to the desired output of Click?
I haven't contributed to many OS projects, so I apologize if I missed the mark here.

Your code is perfect for the thing you want to do, but I remain unconvinced that the thing you want to do is a good idea from a UX perspective. I'm also not claiming that Click's current solution is perfect, but that probably depends.
In the end it's just bikeshedding, would like to hear a few opinions from others first. @mitsuhiko @RonnyPfannschmidt

Well, bikeshedding is the only way I can contribute :D
My opinion (for what its worth) is that it isn't on by default, and shouldn't really affect most users. I guess it could bog down the code base.

Decision made to keep current "see --help" message in #502.


Automate Cloud Build github repo import

This solution is currently not feasible.
There is an alpha solution which I started working onto, but I want to wait until the solution doesn't require project allowlisting (at this moment I can try but other users can't).

Internal Google bug id 233706417


Correct all the mistakes.

Correct all the mistakes and configure travis.

You need first be in sync with this repo. Do:
$ git fetch upstream
$ git checkout master
$ git merge upstream/master

Read the wiki.
Fix the issues in local and then push your changes to your repository. Warn me with a mention.

Done @fjlopez


Various picking bugfixes

Objective

Intended to resolve https://github.com/bevyengine/bevy/issues/15290.
Fix four duplicate DragEnd firing when drag finished.
Fix redundant DragStart firing when dragging across pick-able entities.
Fix Click coming after Drop and obliterating finished drag interactions.

Big thanks to B. Reinhart for testing picking in their codebase and identifying these issues early.
Solution

Fix press & drag state being cleared after the first entity is read from the hover map on pointer release, rather than after all entities are read. This caused only the first hovered entity to receive Up and Click events.
Fixes Down being determined using the previous_hover_map rather than hover_map, a regression compared to bevy_mod_picking. I think this is what was messing up drag events.
Fixes and issue where PointerEnd would fire multiple times and PointerStart would fire when dragging onto a new entity.
Re-orders events to make them easier to handle. Out now fired before DragLeave and Click/Up now fire before DragDrop.
Generally refactors the picking event code to be more clean and sane.

Testing
These changes are currently sporadically tested.

This has been tested by @brandon-reinhart, and is at least an improvement on the current behavivor.

I'll be using this PR to just collect up a big batch of fixes so we can merge them all at once.

@NthTensor say the word and I'll merge this in.


cmd/go: ambiguous import path not detected when the colliding path is in the standard library

Suggest in Go 1.14 we go one step further when GO111MODULE="on", outside and inside! GOPATH, module path must be specified to prevent shenanigans.
When trying to create a module crypto outside gopath you get
% go mod init
go: cannot determine module path for source directory /Users/gert/crypto (outside GOPATH, module path must be specified)

Perfect, but if you do that inside gopath
(force GO111MODULE="on")
% mkdir $GOPATH/src/crypto
% cd $GOPATH/src/crypto
% echo "package crypto" > c_test.go
% go mod init
% cat go.mod
module crypto
go 1.14
% go test -v
=== RUN   TestRC4OutOfBoundsWrite
--- PASS: TestRC4OutOfBoundsWrite (0.00s)
=== RUN   TestCTROutOfBoundsWrite
--- PASS: TestCTROutOfBoundsWrite (0.00s)
=== RUN   TestOFBOutOfBoundsWrite
--- PASS: TestOFBOutOfBoundsWrite (0.00s)
=== RUN   TestCFBEncryptOutOfBoundsWrite
--- PASS: TestCFBEncryptOutOfBoundsWrite (0.00s)
=== RUN   TestCFBDecryptOutOfBoundsWrite
--- PASS: TestCFBDecryptOutOfBoundsWrite (0.00s)
PASS
ok      crypto  0.049s

Not only is it allowed, you even launch the wrong test files from GOROOT
I understand this is done for backward compatible sake, but GOPATH must die and end up somewhere as a dot folder hidden only used for cach.
Furthermore I suggest to change error message
go: cannot determine module path for source directory /Users/gert/crypto (outside GOPATH, module path must be specified)

to
go: cannot determine module path for source directory /Users/gert/crypto (module path must be specified)

to stop promoting people to use GOPATH
(related to: https://github.com/golang/go/issues/35070)

This has ~nothing to do with specifying module paths: it would be conceptually ok (if somewhat fragile) to create a module crypto provided that it does not define any packages that are also defined in GOPATH/src.
The problem here is that the existing ambiguous import error is not detecting the collision between the user's module and the standard library. That should be a much easier (and less invasive) fix.

See also #26227.

@bcmills Is this likely to happen for 1.18?  Thanks.

I'm not sure. It should be a fairly easy fix, but it doesn't need to hold up the release; moving to 1.19 for now, but I may move it back if the fix turns out to be small enough to go in during the freeze.

@bcmills does the fix here also address https://github.com/golang/go/issues/26227 or https://github.com/golang/go/issues/34068? They all seem very similar.

#34068 is in GOPATH mode, so the fix here doesn't help (this issue was for module mode).
I suspect that #26227 also still affects GOPATH mode as well, although I'm less sure about that one.

@bcmills wanted to flag that the code that merged to fix this issue (https://go.dev/cl/434095) introduced what I believe are regressions in behavior for vendor mode in Go 1.20:
#58417: cmd/go: "list -json" prints non-JSON output if vendor directory is present (Go 1.20 regression)
#58418: cmd/go: "list -json" does not populate "Dir" field for module in vendor directory (Go 1.20 regression)
I'm going to investigate further to try to understand what's going on, but as this issue doesn't mention vendoring, it seems likely that the change in behavior was an unintentional side effect of the fix for this issue.
It seems to me that, in the workflows I posted in my issue, the behavior before this change was merged was more correct, but if you could provide any clarity around that it would be much appreciated (I have tooling and workflows that depended on the previous behavior and it would be helpful to know if the new behavior is a bug where I can wait for a fix, or if the updated information/behavior is intentional and I need to figure out a different workaround).


Add  as_decimal_array(arr: &dyn Array) -> &DecimalArray

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
There are many as_XXX functions  such as as_boolean_array to conveniently downcast arrays to the appropriate concrete Array types, but not one for DecimalArray 😢 .
The full list of supported ones is in the doc  https://docs.rs/arrow/9.0.2/arrow/array/index.html#functions)
Describe the solution you'd like
I would like one for DecimalArray:
fn as_decimal_array(arr: &dyn Array) -> &DecimalArray {
...
}

Additional context
Context: I found while working on https://github.com/apache/arrow-datafusion/pull/1475

cc @liukun4515

cc @liukun4515

If no one takes this, I am glad to do this task.
@alamb  Please assign it to me.

I will do this in the weekend, and focus on some knowledge about ballista and distributed scheduler.


[WIP] Additional tests for _jvp_dispatch

Batching for regular ops executing eagerly. This is will later be changed to test implementation finalized in #40678

This test is taken care of in #40678. Additional tests can go here. Will reopen when necessary.


sriov-lane: dedicated container disk image

What this PR does / why we need it:
In sriov-lane we use fedora container disk image,
that image does not include qemu-ga package or sriov drivers.
Currently we install and config what necessary through in place before each test using cloud-init:
quem-ga package downloaded from internal http server cdi-http-import-server
sriov drivers are installed with dnf.
This PR uses new image that include all necessary packages and configurations
for sriov lane tests.
Using this kind of image instead of relaying on cloud-config and internal http server
is more efficient, take less time for VM to be ready and thus for tests to finish
and most important less prune to errors.
Which issue(s) this PR fixes:
Needed for #3797
Fixes #3850
Special notes for your reviewer:
At the moment I am pulling the image form private registry,
once the image will be stored in kubevirt registry  I will update bazel container_pull rule
The image was create with https://github.com/ormergi/vm-image-builder
PR for adding it to kubevirtci https://github.com/kubevirt/kubevirtci/pull/428
Release note:

NONE

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

pull-kubevirt-e2e-kind-1.17-sriov

/pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/unhold

/test pull-kubevirt-e2e-kind-1.17-sriov

/cc @danielBelenky

/retest

/retest

Rebased
Change vmi_multus_test.go, getSriovVMI - remove explicit return object type instance name

/test pull-kubevirt-e2e-kind-1.17-sriov

/retest

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-kind-1.17-sriov

/test pull-kubevirt-e2e-k8s-1.16

/test pull-kubevirt-e2e-k8s-1.17

/test pull-kubevirt-e2e-kind-k8s-1.17.0-ipv6

/approve

Let's override the SRIOV lane. the failures are known and are addressed in the follow-up for this PR and in  this one.

/approve
Thanks!

@danielBelenky what do you say we override the SRIOV lane. the failures are known and are addressed in the follow-up for this PR and in this one.

@alonSadan  thanks for mentioning it

Sriov lane fails due to flaky tests that will be resolved by PR 4001 and afterSuite errors that will be resolved by PR 3797.
Both PR's, 3797 and 4001, depend on this PR (3834), sriov-lane must be /override for this PR to merge.
Once all mentioned PR's will be merged we could enable it again.

/test pull-kubevirt-goveralls

/test pull-kubevirt-goveralls

/override pull-kubevirt-e2e-kind-1.17-sriov


self hosted runner version

I'm seeing some messages after a failure in a workflow:
This job failure may be caused by using an out of date self-hosted runner.
You are currently using runner version 2.319.1. Please update to the latest version 2.320.0

and was wondering if the latest version of runs-on has it as I did not see any reference on the release notes.  Thanks

@filintod Base images were a bit outdated because I didn't approve the deployment of new images last week. A new job is running now, which should publish updated images momentarily (https://github.com/runs-on/runner-images-for-aws/actions/runs/11608203458/job/32324471407)

And just to make it clear: image lifecycle is not dependent on new RunsOn releases because it does indeed need more regular updates.


SynchronizationContext and blocking calls

Pull Request Template
Description
In scenarios where there is a SynchronizationContext (Windows Forms, ASP.NET on .NET Framework) and the SDK is used in a blocking way (through ConfigureAwait(false).GetAwaiter().GetResult()), the operation needs to be launched through a Task.Run to avoid a deadlock on the SynchronizationContext.
A new TaskHelper extension is used across public surface implementations.
The PR also adds a new Test project (Microsoft.Azure.Cosmos.EmulatorTests.NETFX) which is exclusively for NET Framework and used to test the synchronization scenario.
Type of change

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

Closing issues
Closes #1043

One alternative possible design is to have a wrapper implementation which will handle this specific concern.


Documentation should be auto generated where possible

We should be able to auto generate the CLI and Schema documentation.
I think to do this we need:

To ensure our doc string has a full detailed description of each command.  This may mean that we need a more detailed version of the help.  Perhaps using a different CLI parser.
Fully document the API structure definitions and auto generate structures from the top level resource definitions.

Is auto-generating the documentation really GA?

Actually, given the number of resource types (not that many - auto generating is not really worth the additional effort) -  closing.


When returning a Proxy object, how to refer to the object it is a proxy for?

How to correctly document a function that returns a Proxy object, which is a proxy for some object whose properties (and methods) I actually want the IDE (or a programmer reading the docs, for that matter) to pick up as the properties of the returned object.
I tried using @mixin & @mixes, although it doesn't seem to have any effect on IDE in this case, and is probably not the intended usage of them anyway. For one, PlayerOrder is itself a normal class, not a non-instantiable mixin to be used as an extension to another class.
An example.
Input code
/**
 * @constructor
 * @mixin
 */
class PlayerOrder
{
    constructor (sFirstPlayerName, sSecondPlayerName)
    {
        this.SetOrder(sFirstPlayerName, sSecondPlayerName);
    }

    SetOrder (sFirstPlayerName, sSecondPlayerName)
    {
        this.oPlayersByName = {
            [sFirstPlayerName]: 0,
            [sSecondPlayerName]: 1
        };
        this.aPlayersByOrder = [sFirstPlayerName, sSecondPlayerName];
    }

    SwitchPlayers ()
    {
        this.SetOrder(this.aPlayersByOrder[1], this.aPlayersByOrder[0]);
    }

    /**
     * @constructor
     * @mixes {PlayerOrder}
     * @return {Proxy}
     */
    static CreateWithShorthandProperties (...aPlayerNames)
    {
        return new Proxy(new PlayerOrder(...aPlayerNames), {
            get: function (oPlayerOrder, mProp)
            {
                if (mProp == 0 || mProp == 1) {
                    return oPlayerOrder.aPlayersByOrder[mProp];
                }
                if (mProp[0] == 'n') {
                    return oPlayerOrder.oPlayersByName[mProp.substring(1)];
                }
                else {
                    return oPlayerOrder[mProp];
                }
            }
	   });
    }
}

// CASE 1.
const oPlayerOrderA = new PlayerOrder('Bob', 'Alice');

// IDE ("PhpStorm") is able to look up and offer and/or confirm
// method `SwitchPlayers` for object `oPlayerOrderA`.
oPlayerOrderA.SwitchPlayers();

// Outputs `undefined` – no non-existant property handler is present.
console.log(oPlayerOrderA.nAlice);

// CASE 2.
// Adding a getter for non-existant properties.
const oPlayerOrderB = PlayerOrder.CreateWithShorthandProperties('Bob', 'Alice');
console.log(oPlayerOrderB.nAlice);    // Outputs `1` as is needed.

// But IDE ("PhpStorm") does not look up and offer method `SwitchPlayers`
// for object `oPlayerOrderB` while typing.
oPlayerOrderB.SwitchPlayers();

I am not as concerned about IDE's current support as for how I'm supposed to handle this from JSDoc point of view.
So, how do I return a Proxy class object, but tell in the docs that the object will have (at least) all properties of the PlayerOrder class?

I only use jsdoc for IDE autocompletion.
WebStorm undesrstands this:
`...
/**

@property {function({})} someMethod
*/
class SomeClass {...
`


Accessibility

Looks like you've done a good job with making things accessible which is great! Looking through I found a couple of things which could be improved.

The nav button should really be a <button> which toggles aria-expanded when it is clicked. It also needs an accessible name adding
Opening the nav should trap focus inside the nav until it is closed via the button (or the escape key is pressed)
Opening the modal should trap focus inside the modal until it is closed via the button (or the escape key is pressed)
The modal close button should really be a <button>. It also needs an accessible name adding

If you want to find out more about these issues and how to fix them I'd recommend Rob Dodson's A11ycasts series on YouTube. https://www.youtube.com/playlist?list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g

@acnorrisuk :slightly_smiling_face:  Thanks! a lot! for doing this deep accessibility review. I once did a lighthouse audit which gave me a score of 100 and also stated that there are a few things to check manually for accessibility and I think you pointed out most of them I will look into the A11casts series.


Investigate Switching TestOptimizer to use Cascades (and whether or not we want to)

Currently it uses the heuristic optimizer. It seems that to use the cascades optimizer, we might need to introduce a more advanced dummy cost model. It might also be the case that we want to just keep testing on the heuristic optimizer.
See #140 for context.

I think we can use two phase now, no need for using heuristic rules to test cascades. Some rules are not well designed for cascades and jignesh agrees on that too.

Ok, I'll just close this issue for now then. Thanks for your feedback!


MSSQL_AGENT_ENABLED=true doesn't work with SQL 2019 CTP3.2

I'm trying to setup replication from my Linux container running SQL 2019 CTP3.2, the two ways I know to enable SQL Agent are

use MSSQL_AGENT_ENABLED environment variable while creating container
/opt/mssql/bin/mssql-conf set sqlagent.enabled true

I've tried both, and sadly none of them work.
Is this a known issue or I'm doing something wrong or missing something.

I've spent the whole day trying to run SQL Server 2019 Linux container on AKS in same way as the OP describes, and failed as well. Wanted to post an issue, but was not the first one :)
The short version
It seems, that SQL Agent, when deployed to AKS, fails to start. The possible reason for failure, as indicated in sqlagentstartup.log is: Agent fails to connect to the service itself.
SQL Agent was not able to connect to SQL Server instance [(local),1433]. Attempt 1 of 15. Will retry again in 1000ms.

I'm not so proficient with Kubernetes administration, but it seems, that somehow connection from the pod to itself on port 1433 is actually restricted by Kubernetes itself.
The long version
Now I'll describe my scenario in details.
So the requirements are:

Run an SQL Server 2019 in the AKS (specifically AKS)
Run the SQL Server Agent, as the whole purpose is to use CDC feature

Running the container in Docker Desktop on Windows (still, Linux container) was successful. SQL Agent is running, CDC is working.
The command for this was:
docker run -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e SA_PASSWORD=StrongP@ssword! -e MSSQL_AGENT_ENABLED=true -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
The real problem is to run the same container in the AKS.
Here is the yaml file I use for the deployment:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: mssql-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mssql
    spec:
      terminationGracePeriodSeconds: 10
      containers:
      - name: mssql
        image: mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
        ports:
        - containerPort: 1433
          protocol: TCP
        resources:
          requests:
            cpu: 500m
            memory: 512Mi
          limits:
            cpu: 2000m
            memory: 2048Mi
        env:
        - name: MSSQL_PID
          value: "Developer"
        - name: ACCEPT_EULA
          value: "Y"
        - name: MSSQL_SA_PASSWORD
          value: "StrongP@ssword!"
        - name: MSSQL_AGENT_ENABLED
          value: "true"
        volumeMounts:
        - name: mssqldb
          mountPath: /var/opt/mssql
      volumes:
      - name: mssqldb
        persistentVolumeClaim:
          claimName: mssql-data
---
apiVersion: v1
kind: Service
metadata:
  name: mssql-deployment
spec:
  selector:
    app: mssql
  ports:
    - protocol: TCP
      port: 1433
      targetPort: 1433
  type: LoadBalancer

The result is - SQL Server is working, but Agent is not working. Here how it looks in SQL Management studio:

Trying to open properties, yields this error
SQL Server blocked access to procedure 'dbo.sp_get_sqlagent_properties' of component 'Agent XPs' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Agent XPs' by using sp_configure. For more information about enabling 'Agent XPs', search for 'Agent XPs' in SQL Server Books Online. (Microsoft SQL Server, Error: 15281)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=15.00.1800&EvtSrc=MSSQLServer&EvtID=15281&LinkId=20476

While checking the logs from within the container, found these prompts

From sqlagent.out

019-09-17 12:15:25 - ? [508] Logging SQL Server Agent messages in file '/var/opt/mssql/log/sqlagent.out'.
2019-09-17 12:15:25 - ? [101] SQLServerAgent service successfully started
2019-09-17 12:15:25 - ? [350] Waiting for SQL Server to start...
2019-09-17 12:15:28 - ? [000] Event Global\sqlserverRecComplete opened
2019-09-17 12:15:28 - ? [500] Waiting for SQL Server to recover all databases...
2019-09-17 12:15:36 - ? [100] Microsoft SQLServerAgent version 15.0.1800.32 (X64 unicode retail build) : Process ID 24
2019-09-17 12:15:36 - ? [495] The SQL Server Agent startup service account is \mssql-deploymen$.
2019-09-17 12:15:36 - ? [151] Running SQL Server Agent cross-platform
2019-09-17 12:16:06 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:16:37 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:17:08 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:17:39 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:18:10 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:18:41 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:19:12 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:19:43 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:20:14 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:20:46 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:21:17 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:21:48 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:22:19 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:22:50 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:23:21 - ! [150] SQL Server does not accept the connection (error: 11001). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-09-17 12:23:21 - ! [000] Unable to connect to server '(local),1433'; SQLServerAgent cannot start
2019-09-17 12:23:21 - ! [103] SQLServerAgent could not be started (reason: Unable to connect to server '(local),1433'; SQLServerAgent cannot start)
2019-09-17 12:23:26 - ! [298] SQLServer Error: 11001, TCP Provider: No such host is known. [SQLSTATE 08001]
2019-09-17 12:23:26 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00]
2019-09-17 12:23:26 - ! [298] SQLServer Error: 11001, A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [SQLSTATE 08001]
2019-09-17 12:23:26 - ! [382] Logon to server '(local),1433' failed (DisableAgentXPs)
2019-09-17 12:23:26 - ? [102] SQLServerAgent service successfully stopped
2019-09-17 12:23:26 - ? [098] SQLServerAgent terminated (normally)

From sqlagentstartup.log

SQL Agent was not able to connect to SQL Server instance [(local),1433]. Attempt 1 of 15. Will retry again in 1000ms.

@lancerdima hey I tried mcr.microsoft.com/mssql/server:2019-latest today and it worked for me. You can give it a try.
Wanted to post an update but you beat me to it

Just an FYI SSMS cannot show the status of Agent full description here https://github.com/microsoft/mssql-docker/issues/412

does anyone know what the issue was? is there some network config missing? I get the same error message when trying to start the agent on the latest version but not running inside a container

same issue here... This is really disappointing...

ive also raised it here - FYI
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ef641b2a-da32-44ff-81b9-8afa0c861371/sql-server-2019-linux-issue-with-sql-agent-startup?forum=sqlsetupandupgrade

Yeah, I have seen it. Answers there even more disappointing... no one has actually read description of the problem.

@mrvladis i just tried the latest GDR repo for 2019 on ubuntu 16.04 - the agent starts up fine!

Nope. I have been using latest and it is not, but I've managed to find what is the problem!
It is working fine only if you don't tune your containers!!!!!!!!!
I am always setting the "hostname" for the container. And it seems that host name is not resolvable even within the container itself.
Once I have removed host name for container and it fall back to the actual host name - agent started successfully.
Thanks.

How and/or where are you setting the hostname? I am experiencing the same issue and finding the exact same errors in the logs. I don't think I'm setting any hostname configuration values. I'm running this on Kubernetes. I'm using the exact same Deployment.yml as shown above. I'm curious what needs to be changed in that yaml to get it to work

Hi @kellymenzel ,
I have put few word about my experience here: https://mrvlab.co.uk/2019/11/17/sql-server-for-iot/
However I am not entirely sure if it will help you on Kubernetes, as if I remember it correctly - you will have pod name resolution configured there, rather than container.
In anyway, what you need to check is that the container / SQL server name ( you can get it by SELECT @@SERVERNAME) is resolvable into IP address within the container running your MSSQL.
Thanks.

The root of the original problem described in this issue is that @@SERVERNAME once you start the pod in Kubernetes returns the first 15 characters of the kubernetes deployment name. So for example, my Deployment was named "sales-master-database", which was concatinated to "sales-master-da". This name is not resolvable in Kubernetes. In the /var/opt/mssql/log/sqlagent.out file we were seeing...
SQLServer Error: 11001, TCP Provider: No such host is known. [SQLSTATE 08001]

I was able to make some progress by creating a Service for this name of type ClusterIP
apiVersion: v1
kind: Service
metadata:
  name: sales-master-da
  labels:
    app: sales-master-database
spec:
  type: ClusterIP
  sessionAffinity: None
  ports:
  - name: tcp
    port: 1433
  selector:
    app: sales-master-database

While this resolved the No such host is known error message, SQL Agent still didn't start up because of a different error. Now I am receiving a login failed error...
mssql@sales-master-database-deployment-7485bb479c-gt45v:/$ cat /var/opt/mssql/log/sqlagent.out
2019-11-21 15:31:58 - ? [508] Logging SQL Server Agent messages in file '/var/opt/mssql/log/sqlagent.out'.
2019-11-21 15:31:58 - ? [101] SQLServerAgent service successfully started
2019-11-21 15:31:58 - ? [350] Waiting for SQL Server to start...
2019-11-21 15:32:01 - ? [000] Event Global\sqlserverRecComplete opened
2019-11-21 15:32:01 - ? [500] Waiting for SQL Server to recover all databases...
2019-11-21 15:32:05 - ? [100] Microsoft SQLServerAgent version 15.0.2000.5 (X64 unicode retail build) : Process ID 28
2019-11-21 15:32:05 - ? [495] The SQL Server Agent startup service account is \sales-master-da$.
2019-11-21 15:32:05 - ? [151] Running SQL Server Agent cross-platform
2019-11-21 15:32:10 - ! [150] SQL Server does not accept the connection (error: 10061). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:40 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:41 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:42 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:43 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:44 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:45 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:46 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:47 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:48 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:49 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:50 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:51 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:52 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:53 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:55 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:55 - ! [000] Unable to connect to server '(local),1433'; SQLServerAgent cannot start
2019-11-21 15:32:55 - ! [103] SQLServerAgent could not be started (reason: Unable to connect to server '(local),1433'; SQLServerAgent cannot start)
2019-11-21 15:32:55 - ! [298] SQLServer Error: 18452, Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication. [SQLSTATE 28000]
2019-11-21 15:32:55 - ! [382] Logon to server '(local),1433' failed (DisableAgentXPs)
2019-11-21 15:32:55 - ? [102] SQLServerAgent service successfully stopped
2019-11-21 15:32:55 - ? [098] SQLServerAgent terminated (normally)

Then I thought of trying to run this workload as a Pod resource, rather than a deployment. Since the NETBIOS name seems to be causing problems inside the container, if I chose to deploy the workload to Kubernetes as a Pod, I can control the name of the pod and set it to be something shorter than 15 characters (the name of a pod in a Deployment is auto-generated by Kubernetes and is much longer than 15 characters. When I did this, the deployment worked and SQL Agent was started and running. Here's my Pod spec
apiVersion: v1
kind: Pod
metadata:
  name: sales-db
  labels:
    app: sales-master-database
spec:
  terminationGracePeriodSeconds: 10
  containers:
  - name: sales-master-database
    image: mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
    imagePullPolicy: IfNotPresent
    env:
    - name: MSSQL_PID
      value: "Developer"
    - name: ACCEPT_EULA
      value: "Y"
    - name: SA_PASSWORD
      value: "StrongP@ssword!"
    - name: MSSQL_AGENT_ENABLED
      value: "true"
    ports:
    - containerPort: 1433
      protocol: TCP
    resources:
      limits:
        memory: 8Gi
    volumeMounts:
    - name: mssql-volume
      mountPath: /var/opt/mssql
  volumes:
  - name: mssql-volume
    persistentVolumeClaim:
      claimName: sales-master-database-pvc

This will get my by for now, but I think this needs to be fixed in SQL Server somehow

Hi Everyone,
We are working on a solution for this at the moment. Will update this thread when we have something we can share.

As a workaround you could set the hostname field on the Pod Spec for your Deployment. This will set the hostname in the pod and will be what’s set for @@SERVERNAME. Keep in mind this is at the pod level, rather than the container.
kubectl explain deployment.spec.template.spec.hostname
KIND:     Deployment
VERSION:  extensions/v1beta1
FIELD:    hostname
DESCRIPTION:
Specifies the hostname of the Pod If not specified, the pod's hostname will
be set to a system-defined value.
Anthony E. Nocentino
Senior Technical Fellow
Centino Systems
www.centinosystems.comhttp://www.centinosystems.com/ | Bloghttp://www.centinosystems.com/blog/?utm_source=Email Signature&utm_medium=Email&utm_content=Blog Page&utm_campaign=Email Signature | LinkedInhttps://www.linkedin.com/in/nocentino | Pluralsighthttp://bit.ly/2avjZFZ | Microsoft MVPhttp://bit.ly/2iA78SB
<EMAIL_ADDRESS>On Nov 21, 2019, at 1:13 PM, Kelly Menzel <notifications<EMAIL_ADDRESS>wrote:
The root of the original problem described in this issue is that @@ServerNamehttps://github.com/ServerName once you start the pod in Kubernetes returns the first 15 characters of the kubernetes deployment name. So for example, my Deployment was named "sales-master-database", which was concatinated to "sales-master-da". This name is not resolvable in Kubernetes. In the /var/opt/mssql/log/sqlagent.out file we were seeing...
SQLServer Error: 11001, TCP Provider: No such host is known. [SQLSTATE 08001]
I was able to make some progress by creating a Service for this name of type ClusterIP
apiVersion: v1
kind: Service
metadata:
name: sales-master-da
labels:
app: sales-master-database
spec:
type: ClusterIP
sessionAffinity: None
ports:

name: tcp
port: 1433
selector:
app: sales-master-database

While this resolved the No such host is known error message, SQL Agent still didn't start up because of a different error. Now I am receiving a login failed error...
mssql@sales-master-database-deployment-7485bb479c-gt45v:/$ cat /var/opt/mssql/log/sqlagent.out
2019-11-21 15:31:58 - ? [508] Logging SQL Server Agent messages in file '/var/opt/mssql/log/sqlagent.out'.
2019-11-21 15:31:58 - ? [101] SQLServerAgent service successfully started
2019-11-21 15:31:58 - ? [350] Waiting for SQL Server to start...
2019-11-21 15:32:01 - ? [000] Event Global\sqlserverRecComplete opened
2019-11-21 15:32:01 - ? [500] Waiting for SQL Server to recover all databases...
2019-11-21 15:32:05 - ? [100] Microsoft SQLServerAgent version 15.0.2000.5 (X64 unicode retail build) : Process ID 28
2019-11-21 15:32:05 - ? [495] The SQL Server Agent startup service account is \sales-master-da$.
2019-11-21 15:32:05 - ? [151] Running SQL Server Agent cross-platform
2019-11-21 15:32:10 - ! [150] SQL Server does not accept the connection (error: 10061). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:40 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:41 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:42 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:43 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:44 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:45 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:46 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:47 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:48 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:49 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:50 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:51 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:52 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:53 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:55 - ! [150] SQL Server does not accept the connection (error: 18452). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2019-11-21 15:32:55 - ! [000] Unable to connect to server '(local),1433'; SQLServerAgent cannot start
2019-11-21 15:32:55 - ! [103] SQLServerAgent could not be started (reason: Unable to connect to server '(local),1433'; SQLServerAgent cannot start)
2019-11-21 15:32:55 - ! [298] SQLServer Error: 18452, Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication. [SQLSTATE 28000]
2019-11-21 15:32:55 - ! [382] Logon to server '(local),1433' failed (DisableAgentXPs)
2019-11-21 15:32:55 - ? [102] SQLServerAgent service successfully stopped
2019-11-21 15:32:55 - ? [098] SQLServerAgent terminated (normally)
Then I thought of trying to run this workload as a Pod resource, rather than a deployment. Since the NETBIOS name seems to be causing problems inside the container, if I chose to deploy the workload to Kubernetes as a Pod, I can control the name of the pod and set it to be something shorter than 15 characters (the name of a pod in a Deployment is auto-generated by Kubernetes and is much longer than 15 characters. When I did this, the deployment worked and SQL Agent was started and running. Here's my Pod spec
apiVersion: v1
kind: Pod
metadata:
name: sales-db
labels:
app: sales-master-database
spec:
terminationGracePeriodSeconds: 10
containers:

name: sales-master-database
image: mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04http://mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
imagePullPolicy: IfNotPresent
env:

name: MSSQL_PID
value: "Developer"
name: ACCEPT_EULA
value: "Y"
name: SA_PASSWORD
value: "StrongP@ssword!"
name: MSSQL_AGENT_ENABLED
value: "true"
ports:
containerPort: 1433
protocol: TCP
resources:
limits:
memory: 8Gi
volumeMounts:
name: mssql-volume
mountPath: /var/opt/mssql
volumes:

name: mssql-volume
persistentVolumeClaim:
claimName: sales-master-database-pvc

This will get my by for now, but I think this needs to be fixed in SQL Server somehow
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/mssql-docker/issues/503?email_source=notifications&email_token=AE4X5FLHH6Y6O6QTX2ZIPLLQU3MUVA5CNFSM4IXQCZ42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3KSUA#issuecomment-557230416, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE4X5FJCLXLUAPIOGIOUB3DQU3MUVANCNFSM4IXQCZ4Q.

As a workaround, you could set the hostname field on the Pod Spec for your Deployment. This will set the hostname in the pod and will be what’s set for @@ServerName. Keep in mind this is at the pod level, rather than the container.
kubectl explain deployment.spec.template.spec.hostname
KIND:     Deployment
VERSION:  extensions/v1beta1

FIELD:    hostname <string>

DESCRIPTION:
     Specifies the hostname of the Pod If not specified, the pod's hostname will
     be set to a system-defined value.

I was able to work around this on premise, solution should also work for AKS (not tested)
First, SQL agent does not look at @@SERVERNAME. This field is stored in the database.
Run this query and you may see that @@SERVERNAME and SERVERNAME are not the same.
SELECT SERVERPROPERTY(N'servername')
SELECT @@SERVERNAME`

SQL agent looks at SERVERNAME, which is the hostname of the pod on k8s. First it will try to connect to this address on port 1433. If that fails, it tries localhost:1433. If that fails, agent gives up and won't start.
This podSpec should fix by creating a static hostname and hostAlias for pod, allowing SQL agent to find SQL server on first attempt.
spec:
  hostname: sqlserver
  hostAliases:
  - hostnames:
     - sqlserver
     ip:
        valueFrom:
          fieldRef:
            fieldPath: status.podIP

This is more of a hack than a solution. Hopefully Microsoft will provide a proper solution soon

It seems that mssql-agent looks at SERVERNAME.

The issue is not the hostname.
I spent a whole day debugging this issue in our environment, I used docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike to dump the exact docker run command that k8s uses to spawn the container.
The issue is the container networking. As soon as --network=container:80ce6db07a67 is specified the agent is no longer enabled.
This can be simply observed using docker logs by looking for the lines
2020-07-09 10:21:50.69 spid51      Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
2020-07-09 10:21:50.71 spid51      Configuration option 'Agent XPs' changed from 0 to 1. Run the RECONFIGURE statement to install.
2020-07-09 10:21:50.75 spid51      Configuration option 'show advanced options' changed from 1 to 0. Run the RECONFIGURE statement to install.

With container networking these do not appear within that output.
The error can be reproduced using these steps:

Spawn the k8s helper container manually:

docker run --name=k8s_POD_mssql-deployment-f6fc678b7-7mbjh_default_8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5_0 --hostname=mssql-deployment-f6fc678b7-7mbjh --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --network=none --label io.kubernetes.docker.type="podsandbox" --label io.kubernetes.pod.uid="8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5" --label annotation.kubernetes.io/config.source="api" --label io.kubernetes.pod.name="mssql-deployment-f6fc678b7-7mbjh" --label annotation.kubernetes.io/config.seen="2020-07-08T01:44:21.652993302Z" --label io.kubernetes.container.name="POD" --label pod-template-hash="f6fc678b7" --label app="mssql" --label io.kubernetes.pod.namespace="default" --detach=true k8s.gcr.io/pause:3.1

Set the variable $helperID to the ID of the helper (spawned in the previous command)
Spawn the pod manually:

docker run --name=k8s_mssql_mssql-deployment-f6fc678b7-7mbjh_default_8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5_0 --user=mssql --env=MSSQL_PID=Developer --env=ACCEPT_EULA=Y --env=MSSQL_AGENT_ENABLED=true --env=MSSQL_ENABLE_HADR=1 --env='MSSQL_SA_PASSWORD=Eh5I6ov5pRDYqGpJZa0V!' --env=MSSQL_DEPLOYMENT_SERVICE_PORT=1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP=tcp://<IP_ADDRESS>:1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_PORT=1433 --env=KUBERNETES_PORT=tcp://<IP_ADDRESS>:443 --env=KUBERNETES_PORT_443_TCP=tcp://<IP_ADDRESS>:443 --env=KUBERNETES_PORT_443_TCP_PROTO=tcp --env=MSSQL_DEPLOYMENT_SERVICE_HOST=<IP_ADDRESS> --env=MSSQL_DEPLOYMENT_PORT=tcp://<IP_ADDRESS>:1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_PROTO=tcp --env=KUBERNETES_SERVICE_HOST=<IP_ADDRESS> --env=KUBERNETES_SERVICE_PORT=443 --env=KUBERNETES_SERVICE_PORT_HTTPS=443 --env=KUBERNETES_PORT_443_TCP_PORT=443 --env=KUBERNETES_PORT_443_TCP_ADDR=<IP_ADDRESS> --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_ADDR=<IP_ADDRESS> --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --restart=no --label io.kubernetes.docker.type="container" --label annotation.io.kubernetes.pod.terminationGracePeriod="30" --label annotation.io.kubernetes.container.terminationMessagePolicy="File" --label annotation.io.kubernetes.container.hash="bdf86433" --label com.microsoft.product="Microsoft SQL Server" --label io.kubernetes.container.logpath="/var/log/pods/default_mssql-deployment-f6fc678b7-7mbjh_8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5/mssql/0.log" --label annotation.io.kubernetes.container.restartCount="0" --label annotation.io.kubernetes.container.ports="[{"containerPort":1433,"protocol":"TCP"}]" --label com.microsoft.version="15.0.4043.16" --label io.kubernetes.container.name="mssql" --label io.kubernetes.pod.uid="8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5" --label io.kubernetes.pod.name="mssql-deployment-f6fc678b7-7mbjh" --label io.kubernetes.pod.namespace="default" --label io.kubernetes.sandbox.id="dd8eef7d109f4dd7ceb79dddef134965eeb815dac0f90a47d06cffb1684b4e8c" --label annotation.io.kubernetes.container.terminationMessagePath="/dev/termination-log" --label vendor="Microsoft" --detach=true --network=container:$helperID mcr.microsoft.com/mssql/server /opt/mssql/bin/sqlservr

This will result in a mssql container without agent even though MSSQL_AGENT_ENABLED=true
If the same command is used without the network parameter it works
docker run --name=k8s_mssql_mssql-deployment-f6fc678b7-7mbjh_default_8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5_0 --user=mssql --env=MSSQL_PID=Developer --env=ACCEPT_EULA=Y --env=MSSQL_AGENT_ENABLED=true --env=MSSQL_ENABLE_HADR=1 --env='MSSQL_SA_PASSWORD=Eh5I6ov5pRDYqGpJZa0V!' --env=MSSQL_DEPLOYMENT_SERVICE_PORT=1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP=tcp://<IP_ADDRESS>:1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_PORT=1433 --env=KUBERNETES_PORT=tcp://<IP_ADDRESS>:443 --env=KUBERNETES_PORT_443_TCP=tcp://<IP_ADDRESS>:443 --env=KUBERNETES_PORT_443_TCP_PROTO=tcp --env=MSSQL_DEPLOYMENT_SERVICE_HOST=<IP_ADDRESS> --env=MSSQL_DEPLOYMENT_PORT=tcp://<IP_ADDRESS>:1433 --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_PROTO=tcp --env=KUBERNETES_SERVICE_HOST=<IP_ADDRESS> --env=KUBERNETES_SERVICE_PORT=443 --env=KUBERNETES_SERVICE_PORT_HTTPS=443 --env=KUBERNETES_PORT_443_TCP_PORT=443 --env=KUBERNETES_PORT_443_TCP_ADDR=<IP_ADDRESS> --env=MSSQL_DEPLOYMENT_PORT_1433_TCP_ADDR=<IP_ADDRESS> --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --restart=no --label io.kubernetes.docker.type="container" --label annotation.io.kubernetes.pod.terminationGracePeriod="30" --label annotation.io.kubernetes.container.terminationMessagePolicy="File" --label annotation.io.kubernetes.container.hash="bdf86433" --label com.microsoft.product="Microsoft SQL Server" --label io.kubernetes.container.logpath="/var/log/pods/default_mssql-deployment-f6fc678b7-7mbjh_8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5/mssql/0.log" --label annotation.io.kubernetes.container.restartCount="0" --label annotation.io.kubernetes.container.ports="[{"containerPort":1433,"protocol":"TCP"}]" --label com.microsoft.version="15.0.4043.16" --label io.kubernetes.container.name="mssql" --label io.kubernetes.pod.uid="8a21d3f0-7b9f-4bc4-900a-903a0cbc88d5" --label io.kubernetes.pod.name="mssql-deployment-f6fc678b7-7mbjh" --label io.kubernetes.pod.namespace="default" --label io.kubernetes.sandbox.id="dd8eef7d109f4dd7ceb79dddef134965eeb815dac0f90a47d06cffb1684b4e8c" --label annotation.io.kubernetes.container.terminationMessagePath="/dev/termination-log" --label vendor="Microsoft" --detach=true mcr.microsoft.com/mssql/server /opt/mssql/bin/sqlservr

I do not know why this causes the error, but it is consistent and reproducible.
(Also a final note to the above commands, I removed the --volume parameters as those were unrelated to the issue and would have only complicated reproducing the error)

Just like @agowa338 said, setting the hostname explicitly works.

It seems that mssql-agent looks at SERVERNAME. It checks hostname through @@ServerName value. I guess that the problem is that @@ServerName(hostname) is too long. because if hostname name over 15 character, more after 15 char was cut. I tested both hostname set long or short (under 15 character) The result is fine under 15 char. It works well in hostname under 15 character.

This fixed the problem for me. I had deployed SQL Server with a Helm chart and the name of the service was longer than 15 characters. Make sure you've specified the name of the service for SQL Server is not longer than 15 characters and there should be no problem enabling the MSSQL Agent.

It seems that mssql-agent looks at SERVERNAME. It checks hostname through @@ServerName value. I guess that the problem is that @@ServerName(hostname) is too long. because if hostname name over 15 character, more after 15 char was cut. I tested both hostname set long or short (under 15 character) The result is fine under 15 char. It works well in hostname under 15 character.

Had same issue and this fixed it.

Hi Everyone,
We are working on a solution for this at the moment. Will update this thread when we have something we can share.

are you still working on the solution :D
Anyone hitting that problem in Kubernetes like I did: use a statefulset with a short name as the sts will only append -0 it is easy to stay below 15 chars. Cost me some hours sadly. Thank you all for your tips allowing me to solve the problem


Fix packaging and deploy problems

Yes, the build times increased quite significantly:
Before: ~00:49 elapsed
After: ~01:27 elapsed
But if I remember the original time correctly, at least that's still much better than 3 minutes


Ability to add generated columns on non-empty tables

Use case:
As I user I want to be able to add generated columns also after a table already has been filled.
Feature description:
Add a generated column on a exiting and filled table:
ALTER TABLE table ADD COLUMN gen_col GENERATED ALWAYS AS (x+1)

On rows/docs that habe been inserted before the tables has been altered, the value should be null.
There should be an option to manually trigger a reevaluation of a tables generated columns.

We discussed this in our Grooming and a couple of things popped up:
What exactly is the use case for the generated columns?
We could also implement virtual generated columns. The values wouldn't be persisted which has an impact on query performance if the columns are used in filters, but it would make the computed values visible on selects immediate.
Similar to that, a workaround that could already be used would be to create a view with the computed column.
Regarding the proposed behaviour we were a bit concerned about breaking data integrity, so we'd rather implement it properly.
Some notes about that (this is more for us):

Add a "soft"/invisible column

Not visible in information_schema. Doesn't include in SELECT *
Generated columns/defaults are evaluated in update or write already

Update data (blocks ALTER response)

Flip "soft" column to be visible

What about errors during the operation? Cluster / node restart

We would likely need persistent tasks

What exactly is the use case for the generated columns?

mostly just quick(er) sorting / filtering (and realising composite indices) after initial table creation.
I don't know about the exact background mechanics of generated columns in CrateDB, though I would suggest they also could just be null for all previously inserted docs/rows similar to adding a normal column to an existing table.

We could also implement virtual generated columns

generally like the idea 👍

One idea, apologies if this has already been considered.
What about allowing a normal column to be "promoted" to be a generated column.
We could then add a column, backfill at our convenience, values would already be indexed, and when we convert it to a generated column with a given expression (data type would need to match of course) we would not expect existing values to be checked and indexing would already be in place, we would just want values to be maintained moving forward.
This would be particularly valuable on scenarios where there is a lot of data that would otherwise need to be reloaded if the table needs to be recreated to add the generated column, perhaps also with a complex ingestion pipeline that we prefer to not touch, and with lots of data within a single record where generated columns with persisted indexed values is super valuable feature.


npm run craco:build fails

First of all thanks for this amazing plugin, I was looking for something like this.
I'm trying to test it with a CRA app from scratch.
npm run craco:start seems to work fine and I can run CRA app from Single-Spa.
However, with I run npm run craco:build, I'm getting an error:  Error: Callback was already called.
My example app is here: https://github.com/albertocorrales/single-spa-cra-example/tree/main/app2
I followed the steps to install, so I'm not sure if there is a bug or I'm missing any configuration.

Hi @albertocorrales , thanks for giving it a try. I pulled your code and ran it without issues on my machine so your config is fine
Let's try this;

Create a single-spa-plugin.js file next to your craco.config.js
Copy and paste contents of src/index.js into single-spa-plugin.js
Place a console.log(webpackConfig.module.rules[1].oneOf); on line 48 in single-spa-plugin.js
In your craco.config.js replace singleSpaApplicationPlugin = require('craco-plugin-single-spa-application'); with  singleSpaApplicationPlugin = require('./single-spa-plugin');
Run craco:build and copy the console output here for me to debug

Hi @hasanayan, thanks for your quick response.
I've followed your steps and this is what I'm getting as output:
PS C:\F\blog\single-spa-cra-example\app2> npm run craco:build

><EMAIL_ADDRESS>craco:build
> craco build

[
  {
    test: [ /\.avif$/ ],
    loader: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\url-loader\\dist\\cjs.js',
    options: {
      limit: 10000,
      mimetype: 'image/avif',
      name: 'static/media/[name].[hash:8].[ext]'
    }
  },
  {
    test: [ /\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/ ],
    loader: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\url-loader\\dist\\cjs.js',
    options: { limit: 10000, name: 'static/media/[name].[hash:8].[ext]' }
  },
  {
    test: /\.(js|mjs|jsx|ts|tsx)$/,
    include: 'C:\\F\\blog\\single-spa-cra-example\\app2\\src',
    loader: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\react-scripts\\node_modules\\babel-loader\\lib\\index.js',
    options: {
      customize: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-preset-react-app\\webpack-overrides.js',
      presets: [Array],
      babelrc: false,
      configFile: false,
      cacheIdentifier: 'production:babel-plugin-named-asset-import@:babel-preset-react-app@10.0.0:react-dev-utils<EMAIL_ADDRESS>      plugins: [Array],
      cacheDirectory: true,
      cacheCompression: false,
      compact: true
    }
  },
  {
    test: /\.(js|mjs)$/,
    exclude: /@babel(?:\/|\\{1,2})runtime/,
    loader: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\react-scripts\\node_modules\\babel-loader\\lib\\index.js',
    options: {
      babelrc: false,
      configFile: false,
      compact: false,
      presets: [Array],
      cacheDirectory: true,
      cacheCompression: false,
      cacheIdentifier: 'production:babel-plugin-named-asset-import@:babel-preset-react-app@10.0.0:react-dev-utils<EMAIL_ADDRESS>      sourceMaps: true,
      inputSourceMap: true
    }
  },
  {
    test: /\.css$/,
    exclude: /\.module\.css$/,
    use: [ [Object], [Object], [Object] ],
    sideEffects: true
  },
  { test: /\.module\.css$/, use: [ [Object], [Object], [Object] ] },
  {
    test: /\.(scss|sass)$/,
    exclude: /\.module\.(scss|sass)$/,
    use: [ [Object], [Object], [Object], [Object], [Object] ],
    sideEffects: true
  },
  {
    test: /\.module\.(scss|sass)$/,
    use: [ [Object], [Object], [Object], [Object], [Object] ]
  },
  {
    loader: 'C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\file-loader\\dist\\cjs.js',
    exclude: [ /\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/ ],
    options: { name: 'static/media/[name].[hash:8].[ext]' }
  }
]
Creating an optimized production build...
C:\F\blog\single-spa-cra-example\app2\node_modules\neo-async\async.js:16
    throw new Error('Callback was already called.');
    ^

Error: Callback was already called.
    at throwError (C:\F\blog\single-spa-cra-example\app2\node_modules\neo-async\async.js:16:11)
    at C:\F\blog\single-spa-cra-example\app2\node_modules\neo-async\async.js:2818:7
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
npm ERR! code 1
npm ERR! path C:\F\blog\single-spa-cra-example\app2
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c craco build

npm ERR!      C:\Users\ACorrales\AppData\Local\npm-cache\_logs\2021-02-23T10_38_44_659Z-debug.log

Sorry the output is not as clear as I expected, could you try logging webpackConfig.module.rules[1].oneOf[4] and webpackConfig.module.rules[1].oneOf[4].use and post them here.
Also, as a trial for solution. could you please comment line 62 and try if you are getting any errors on craco:build? And if there are no errors could you tell me if there are any css files on the output folder? (there shouldn't be)

I will also need the exact console output when you get Error: Callback was already called. message

Hi @hasanayan , I've parsed the whole webpackConfig.module with JSON.stringify. I attach also the console log:
2021-02-23T17_14_53_930Z-debug.log.
Finally, if I remove line 62 (cracoConfig.webpack.plugins.remove.push("MiniCssExtractPlugin");), command npm run craco:build works fine.
{
    "strictExportPresence": true,
    "rules": [{
        "parser": {
            "requireEnsure": false
        }
    }, {
        "oneOf": [{
            "test": [{}],
            "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\url-loader\\dist\\cjs.js",
            "options": {
                "limit": 10000,
                "mimetype": "image/avif",
                "name": "static/media/[name].[hash:8].[ext]"
            }
        }, {
            "test": [{}, {}, {}, {}],
            "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\url-loader\\dist\\cjs.js",
            "options": {
                "limit": 10000,
                "name": "static/media/[name].[hash:8].[ext]"
            }
        }, {
            "test": {},
            "include": "C:\\F\\blog\\single-spa-cra-example\\app2\\src",
            "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-loader\\lib\\index.js",
            "options": {
                "customize": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-preset-react-app\\webpack-overrides.js",
                "presets": [
                    ["C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-preset-react-app\\index.js", {
                        "runtime": "automatic"
                    }]
                ],
                "babelrc": false,
                "configFile": false,
                "cacheIdentifier": "production:babel-plugin-named-asset-import@0.3.7:babel-preset-react-app@10.0.0:react-dev-utils<EMAIL_ADDRESS>                "plugins": [
                    ["C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-plugin-named-asset-import\\index.js", {
                        "loaderMap": {
                            "svg": {
                                "ReactComponent": "@svgr/webpack?-svgo,+titleProp,+ref![path]"
                            }
                        }
                    }]
                ],
                "cacheDirectory": true,
                "cacheCompression": false,
                "compact": true
            }
        }, {
            "test": {},
            "exclude": {},
            "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-loader\\lib\\index.js",
            "options": {
                "babelrc": false,
                "configFile": false,
                "compact": false,
                "presets": [
                    ["C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\babel-preset-react-app\\dependencies.js", {
                        "helpers": true
                    }]
                ],
                "cacheDirectory": true,
                "cacheCompression": false,
                "cacheIdentifier": "production:babel-plugin-named-asset-import@0.3.7:babel-preset-react-app@10.0.0:react-dev-utils<EMAIL_ADDRESS>                "sourceMaps": true,
                "inputSourceMap": true
            }
        }, {
            "test": {},
            "exclude": {},
            "use": [{
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\mini-css-extract-plugin\\dist\\loader.js",
                "options": {}
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\css-loader\\dist\\cjs.js",
                "options": {
                    "importLoaders": 1,
                    "sourceMap": true
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\postcss-loader\\src\\index.js",
                "options": {
                    "ident": "postcss",
                    "sourceMap": true
                }
            }],
            "sideEffects": true
        }, {
            "test": {},
            "use": [{
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\mini-css-extract-plugin\\dist\\loader.js",
                "options": {}
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\css-loader\\dist\\cjs.js",
                "options": {
                    "importLoaders": 1,
                    "sourceMap": true,
                    "modules": {}
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\postcss-loader\\src\\index.js",
                "options": {
                    "ident": "postcss",
                    "sourceMap": true
                }
            }]
        }, {
            "test": {},
            "exclude": {},
            "use": [{
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\mini-css-extract-plugin\\dist\\loader.js",
                "options": {}
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\css-loader\\dist\\cjs.js",
                "options": {
                    "importLoaders": 3,
                    "sourceMap": true
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\postcss-loader\\src\\index.js",
                "options": {
                    "ident": "postcss",
                    "sourceMap": true
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\resolve-url-loader\\index.js",
                "options": {
                    "sourceMap": true,
                    "root": "C:\\F\\blog\\single-spa-cra-example\\app2\\src"
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\sass-loader\\dist\\cjs.js",
                "options": {
                    "sourceMap": true
                }
            }],
            "sideEffects": true
        }, {
            "test": {},
            "use": [{
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\mini-css-extract-plugin\\dist\\loader.js",
                "options": {}
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\css-loader\\dist\\cjs.js",
                "options": {
                    "importLoaders": 3,
                    "sourceMap": true,
                    "modules": {}
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\postcss-loader\\src\\index.js",
                "options": {
                    "ident": "postcss",
                    "sourceMap": true
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\resolve-url-loader\\index.js",
                "options": {
                    "sourceMap": true,
                    "root": "C:\\F\\blog\\single-spa-cra-example\\app2\\src"
                }
            }, {
                "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\sass-loader\\dist\\cjs.js",
                "options": {
                    "sourceMap": true
                }
            }]
        }, {
            "loader": "C:\\F\\blog\\single-spa-cra-example\\app2\\node_modules\\file-loader\\dist\\cjs.js",
            "exclude": [{}, {}, {}],
            "options": {
                "name": "static/media/[name].[hash:8].[ext]"
            }
        }]
    }]
}

Here is the problem, search for "mini-css-extract-plugin" in the webpack config dump you just pasted and you will get a few hits. In fact, if this craco plugin worked correctly for you,  there should not be any. The plugin is supposed to find those strings and replace with another so that style-loader is used instead of mini-css-extract-plugin.
This behavior works as intended on the machines I have tested it on, even on the repo you shared. But somehow, according to your report, it is not working on your system.
Could you please try to debug disableCSSExtraction function in single-spa-plugin.js file I asked you to create before? that function is supposed to do the replacement and somehow it is not working.
Also, I just released 1.0.6, I don't think it will solve your problem but you may want to get the latest version into your single-spa-plugin.js as it has slight changes on the disableCSSExtraction function.
I can also have a call with you to see the problem on your system and try to fix it. Otherwise, I am out of solutions, unfortunately.

Hey @hasanayan, I've tested in two computers and I had the same issue I reported in both, for v1.0.4. However, if I update to version v1.0.6, it works well in my two computers, and I can see CSS in bundle js. So I guess the changes added in latest version have fixed the issue somehow.
If this is working for version v.1.0.6, I think we can close this issue.
Thanks for your help and support.

@hasanayan The bug still exists:
  webpackConfig.module.rules[1].oneOf.forEach((x) => {
                                ^
TypeError: Cannot read properties of undefined (reading 'oneOf')

Because there is no rule at index 1, console.log tells me the following:
[
  {
    oneOf: [
      [Object], [Object],
      [Object], [Object],
      [Object], [Object],
      [Object], [Object],
      [Object], [Object]
    ]
  }
]


Unable to parse trace file using Xcode 9.2

@Qusic  | I'm trying to parse my instruments .trace file using Xcode version 9.2 . I'm using this sameple code.I keep getting this below error. Not sure how to troubleshoot this.
2018-02-16 16:09:26.646666+0530 TraceUtility[36379:382034] Can't discover the application's bundle path! 2018-02-16 16:09:26.647851+0530 TraceUtility[36379:382034] InstrumentsException : *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil 2018-02-16 16:09:26.648454+0530 TraceUtility[36379:382034] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil' *** First throw call stack: ( 0   CoreFoundation                      0x00007fff44117fcb __exceptionPreprocess + 171 1   libobjc.A.dylib                     0x00007fff6adbac76 objc_exception_throw + 48 2   CoreFoundation                      0x00007fff44159264 _CFThrowFormattedException + 202 3   CoreFoundation                      0x00007fff44036420 -[__NSArrayM insertObject:atIndex:] + 1264 4   InstrumentsPlugIn                   0x0000000100d174b3 __PFTLoadPlugins_block_invoke + 2217 5   libdispatch.dylib                   0x0000000101e27d1f _dispatch_client_callout + 8 6   libdispatch.dylib                   0x0000000101e27cff dispatch_once_f + 288 7   InstrumentsPlugIn                   0x0000000100c8eeda PFTLoadPlugins + 218 8   TraceUtility                        0x0000000100001cc4 main + 340 9   libdyld.dylib                       0x00007fff6b9aa115 start + 1 10  ???                                 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)
all i wanted is to parse my trace file to get cpu,memory details and save it in xml or csv format. Any advise on this would be helpful.Thanks in advance.

crash with xcode 9.2 fixed in https://github.com/Qusic/TraceUtility/commit/98648d9d82940efab8f713c147bbcd1abfc4ce90#diff-0cad19250ae08acbc7488724c19cf9e9R34


Use password store to save sensitive data in notifier configure

Rancher version: 2.2
Notifier sensitive data store in crd now. we could integrate with the latest password store to store them in the management side secret.
k get notifiers.management.cattle.io --all-namespaces -o yaml

Close in favor of https://github.com/rancher/rancher/issues/24335


Authentication: Switch to using JWT auth tokens

Leverage JWT as our auth token generation and validation mechanism, using the golang-jwt/jwt/v5 module.
Using JWTs also has the advantage that we don't need to store the tokens on the server side; we just need to generate them and provide them to the clients, and when the clients send a request we can validate the token, failing a request with a 401 Unauthorized if needed, without the need for any DB interactions to perform the validation.
We will, initially at least, leverage the following claims:

Issuer (iss) - the "name" of the server issuing the token
ExpirationTime (exp) - the date & time after which the token will no longer be valid

The server will use a private secret key combined with a HMAC signing method.
Existing tokens can be "revoked" either by changing the issuer name or changing the secret key used for signing.
If the signing method is updated, but the associated secret key remains the same, or is retained, existing tokens based upon the previous signing method can potentially continue to work until their expiration date passes.
We will need to implement a /authenticate REST API request to allow clients to re-authenticate if their token has expired.

Now that #39 has landed we should be fully support client registration, submission, and (re)authentication using JWTs for auth tokens.


recompute total_tokens and total_flops so it works with resume

Are tokens_per_example and flops_per_example constant across steps?

for GPT and most transformer model they are. As long as you're using constant length sequences and not cutting off the compute early with some kind of early exit transformer


Update auto-correct-misspellings.ts

Add 1th -> 1st, etc..

Hey @minding-myown-business , do you mind explaining the rationale behind this PR? The values that are present in the file that you have updated come from this file here from codespell.

Hey @minding-myown-business , do you mind explaining the rationale behind this PR? The values that are present in the file that you have updated come from this file here from codespell.

Sorry, didn't notice this! Closing this issue now

No problem. I am thinking about allowing users to add their own custom ones as per https://github.com/platers/obsidian-linter/issues/866. I am just not yet fully aware of how to best handle displaying those values if at all. I may just go with the quick and dirty approach of just saying that you can refer to a file and just display the file name in the settings panel and leave it up to the person to know what they have in that file. But I am not 100% sure on that yet.


In my project i want to use error method, but i couldn't find out error method in clear script?

Hello @chitra31,
Please clarify your question. What error method are you looking for? A code sample or documentation link could be very helpful.
Thanks!

Closing for now. Will reopen if more information is provided.