REUSE_PORT: define in Linux

For some reason syscall.SO_REUSEPORT is not defined for Linux/amd64,386.
Hack around this by taking the value 0x0200 and play with build tags.
Also add code that sets these values on the socket.
I've only locally tested this with an UDP server, don't know if there
are any regression for TCP (or improvements)

This came up in https://github.com/coredns/perf-tests/issues/4
cc @andrewtj @asergeyev could you take a look? Thanks!

Hmmm, in isolation the test works:
% go test -v -run TestShutdownUDP                                                                                ~/g/src/github.com/miekg/dns so_reuseport
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS

something, something, reuse:
% for i in {0..10}; do go test -v -run TestShutdownUDP; done                                                                  ~/g/src/github.com/miekg/dns so_reuseport
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.012s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.010s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.015s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.011s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.009s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.010s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.010s
=== RUN   TestShutdownUDP
--- PASS: TestShutdownUDP (0.00s)
PASS
ok  	github.com/miekg/dns	1.023s
=== RUN   TestShutdownUDP
--- FAIL: TestShutdownUDP (2.00s)
	server_test.go:573: Could not shutdown test UDP server. Gave up waiting
FAIL
exit status 1
FAIL	github.com/miekg/dns	2.011s
=== RUN   TestShutdownUDP
--- FAIL: TestShutdownUDP (2.00s)
	server_test.go:573: Could not shutdown test UDP server. Gave up waiting
FAIL
exit status 1
FAIL	github.com/miekg/dns	2.017s
=== RUN   TestShutdownUDP
--- FAIL: TestShutdownUDP (2.00s)
	server_test.go:573: Could not shutdown test UDP server. Gave up waiting
FAIL
exit status 1
FAIL	github.com/miekg/dns	2.024s

For some weird reason the srv.inFlight sync.WaitGroup is not zero once we reach the Shutdown() code. I have no idea why.

Commenting setting reuse fixes it so somehow they really related....

http://lxr.free-electrons.com/source/include/uapi/asm-generic/socket.h#L25 where did you get constant from?

It's not the WaitGroup (doing a inFlight.Done() in Shutdown() crashes with negative value every time).

@asergeyev ghe. I got the value from some page I can't find anymore :( Original patch going in kernel I think. Anyway seems to match values in Golang:
 grep -i REUSEPORT *                                                                                ~/upstream/go/src/syscall
net_nacl.go:	SO_REUSEPORT
zerrors_darwin_386.go:	SO_REUSEPORT                      = 0x200
zerrors_darwin_amd64.go:	SO_REUSEPORT                      = 0x200
zerrors_darwin_arm64.go:	SO_REUSEPORT                      = 0x200
zerrors_darwin_arm.go:	SO_REUSEPORT                = 0x200
zerrors_dragonfly_amd64.go:	SO_REUSEPORT                      = 0x200
zerrors_freebsd_386.go:	SO_REUSEPORT                      = 0x200
zerrors_freebsd_amd64.go:	SO_REUSEPORT                      = 0x200
zerrors_freebsd_arm.go:	SO_REUSEPORT                      = 0x200
zerrors_linux_arm64.go:	SO_REUSEPORT                     = 0xf
zerrors_linux_mips64.go:	SO_REUSEPORT                     = 0x200
zerrors_linux_mips64le.go:	SO_REUSEPORT                     = 0x200
zerrors_linux_mips.go:	SO_REUSEPORT                     = 0x200
zerrors_linux_mipsle.go:	SO_REUSEPORT                     = 0x200
zerrors_linux_ppc64.go:	SO_REUSEPORT                     = 0xf
zerrors_linux_ppc64le.go:	SO_REUSEPORT                     = 0xf
zerrors_linux_s390x.go:	SO_REUSEPORT                     = 0xf
zerrors_netbsd_386.go:	SO_REUSEPORT                      = 0x200
zerrors_netbsd_amd64.go:	SO_REUSEPORT                      = 0x200
zerrors_netbsd_arm.go:	SO_REUSEPORT                      = 0x200
zerrors_openbsd_386.go:	SO_REUSEPORT                      = 0x200
zerrors_openbsd_amd64.go:	SO_REUSEPORT                      = 0x200
zerrors_openbsd_arm.go:	SO_REUSEPORT                      = 0x200

#include <stdio.h>

int main() {
    printf("%d\n", SO_REUSEPORT);
}```

Prints 15 for me.

See http://lxr.free-electrons.com/ident?i=SO_REUSEPORT  risc stuff says 0x200, others set to 15

I don't know what OSX would do.

Hmmm.  Ghe :) Good be. Then interesting why:
https://gist.github.com/miekg/e80d2eadfea48422178cdbaaf9f8a33f
would speed CoreDNS up. Only the REUSEADDR?
I'll double check. Also try your value. Seems legit.

Also, also what does 0x200 do then???

It's not my value, it's what 4.10.9-200.fc25.x86_64 printed for me.  I don't know kernel deep enough to know what would happen upon receiving 0x200. I'd expect some error and in case of test C program I actually get ENOPROTOOPT

Really not adding anything but it's worth to review:
http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t

Confused about the figures... Now everything on my machine is fast and I can't reproduce the original case of getting 45K qps :/
Running go test -run='___' -bench BenchmarkServe -v  does not indicate any speedup between this and master

BenchmarkServe should not be changed since it's single goroutine that reads from single socket handle.

BenchmarkServe should not be changed since it's single goroutine that reads from single socket handle.
Yeah, true. Only matters when we optimize internal code paths.

Thanks for double checking me on this whole thread @asergeyev

This doesn't help. Active perf testing of CoreDNS (and thus Go DNS) is happening in github.com/coredns/perf-tests


Route variables

Just an idea, to have routes assigned to variables to make routes more dynamic.
I come up with this while was changing bunch of same URLs in the twig template.
Let's say we have this route with 3rd argument as a variable:
$router->add('posts/index', ['controller' => 'Posts', 'action' => 'index'],'post_index');
We can then pass it the same way as route_params to the controller and in addition create a global twig variable (called routes) so it can be accessed from the view.
and instead of having this in twig:
Test
We could have:
Test
Which after render would give
Test
With this solution we'd need only change route in one place, instead of going through bunch of files.
I haven't thought of implementation of it yet though, so if I come up with something - will let you know

That's an interesting idea! I'm currently working on a major update for this framework, I'll make a note of this, thanks!


Curve overlap problem

Question: Hello, the current Signal number is added, the curve will be superimposed, the order, the last added Signal is on the top layer, may I ask how to set the first added Signal as the outermost layer? Like in the picture, I want the red curve to float on top of the yellow curve.
**ScottPlot Version:**ScottPlot 5  WPF

Hi @Falypio, try this!
https://scottplot.net/cookbook/5.0/PlottableManagement/ChangeOrder/


send chat welcomes messages for successful seitan completions CORE-6751

I tried it locally, seems to work!
The test fails in FAIL: TestRekey (11.74s) though, possibly a flake


Improved generic instantiation behavior and added type precedence to …

…ambiguous resolution logic

Proposing to add this to this for completeness https://github.com/cqframework/clinical_quality_language/pull/1431


feat: add workdir to dockerfile

Overview
This should be a non-breaking change.
This only changes the work directory when the container is started. This means that if you want to execute a command in a running container, it will be automatically in that directory instead of '/'. This improves maintaining and debugging our environments.

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

I think this may break scripts that assume the working directory is /.
[question] do we want to apply something similar to the two other Dockerfiles in this repo?
1. celestia-app/docker/Dockerfile_txsim

2. celestia-app/test/testground/Dockerfile

I added it for the txsim Dockerfile.
I would not add it to the testground Dockerfile, as I don't want to break things as we sunset testground.

I think this may break scripts that assume the working directory is /.
[question] do we want to apply something similar to the two other Dockerfiles in this repo?
1. celestia-app/docker/Dockerfile_txsim

2. celestia-app/test/testground/Dockerfile

I added it for the txsim Dockerfile.
I would not add it to the testground Dockerfile, as I don't want to break things as we sunset testground.


internationalzation work : generation of the database and of the html

This is a first draft, don't hesitate to give us feedbacks

We propose you a simple way to create a page in you language, you only have to translate the sentences given.

We generate the database to be like the English one but to be closer to your language.

It looks much cleaner now (than the previous attempt). Thx

I'm testing the translation.py, assuming that it's Python 3, I get :
python3 translation.py
Traceback (most recent call last):
  File "translation.py", line 23, in <module>
    template = env.get_template('walkthrough.html')
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
    code = environment.compile(source, name, filename)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
    self.handle_exception(exc_info, source_hint=source_hint)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "view/walkthrough.html", line 185, in <module>
    type (text, number, etc.), and each row in the table is a specific instance of whatever the table is "about."
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 497, in _parse
    return Parser(self, source, name, encode_filename(filename)).parse()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 901, in parse
    result = nodes.Template(self.subparse(), lineno=1)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 875, in subparse
    add_data(self.parse_tuple(with_condexpr=True))
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 620, in parse_tuple
    args.append(parse())
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 432, in parse_expression
    return self.parse_condexpr()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 437, in parse_condexpr
    expr1 = self.parse_or()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 450, in parse_or
    left = self.parse_and()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 459, in parse_and
    left = self.parse_not()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 470, in parse_not
    return self.parse_compare()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 474, in parse_compare
    expr = self.parse_math1()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 496, in parse_math1
    left = self.parse_concat()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 507, in parse_concat
    args = [self.parse_math2()]
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 517, in parse_math2
    left = self.parse_pow()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 528, in parse_pow
    left = self.parse_unary()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 547, in parse_unary
    node = self.parse_postfix(node)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 676, in parse_postfix
    node = self.parse_call(node)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 767, in parse_call
    self.stream.expect('comma')
  File "/usr/lib/python3/dist-packages/jinja2/lexer.py", line 386, in expect
    raise TemplateSyntaxError("expected token %r, got %r" %
jinja2.exceptions.TemplateSyntaxError: expected token ',', got 'about'

I've probably overlooked something... thx in advance.


Home page: carousels should have 12 items

The new courses carousel ends abruptly at 10 items, which makes it look broken at desktop widths:

and iPad horizontal:

Acceptance Criteria:

[ ] Change it to 12 items, which divides nicely into 2, 3 and 4 items per page.

@pdpinch Changing the New Courses carousel to 12 items should be straightforward and will improve the aesthetics.
The Featured Courses carousel, however, is populated manually by a list created in Studio. So it could have any number of items, up to the OCW team. Currently it has 13, so the last page doesn't look great.

We could:

advise OCW team to make 12 featured courses
use a different carousel library


Add list declarations

List declarations
Add list declarations, e.g. let xyx: list;.
This is required because:

so the type-checker can easily see what type a variable is
scratch has separate single-variable and list stuff (there are separate intrinsics for accessing a list vs a single variable!)

Syntax

Syntax
Advantages/disadvantages/etc.

1. let stack: list;
Requires introducing a lot of new syntax for just this one case (for now).

2. list stack;
I don't feel comfortable making list a keyword (even the semi-keywords we have now). Also how to do global list?

3. let[] stack;
Really nice, easy to do with global, little extra syntax.

4. let stack[];
Just an uglier version of 3 (sorry C), the array-marker []  should go with the declaration type, not the name!

Option 3 is the best here.
Implementation
CST
Just add a little bit of extra code to _parse_(let,global).
There are 3 options for the nodes:

Add an extra property to LetNode/GlobalNode (but then we would have to modify our printing)
add LetListNode and GlobalListNode (but then we have 4 separate decl types!).
Add 2 pseudo-children (a la NullElseCond) which represent type scope (let/global) and the type (regular or []).

Option 3 seems like the best.
AST
Just add a little bit of extra stuff to the walk decl code to handle the CST additions.

Add another field to AstDeclNode (like type and rename existing one to scope)
Or change VarDeclType to be a enum.Flag thing.

Next steps
Next steps:

#47 (so that we can set the initial value)

Unblocks:

#39 (type checking needs info of what is a list)

For the AST, the 1st option is better - it is more flexible as it allows us to have more than 2 values for each field (e.g. can ad a 3rd type of scope).


Improve decode/encode fragility in Wallaroo's APIs

Currently, if Wallaroo's Python API receives 'unexpected" data in the user provided decode or encode functions an error would be raised and Wallaroo would Fail(). If Wallaroo's Go API receives "unexpected" data in either the decode or encode functions, the application will crash with a panic without hitting a Wallaroo Fail().
In the case of the decoder, if the user handles the error and returns None (python) or nil (go), the following computation would also raise an error if the user does not provide a way for the function to handle None or nil.
In the case of the encoder,  if the user handles the error and returns None (python) or nil (go) the application can successfully continue to process without crashing.
How can we improve the current experience
Should we explicitly tell users to handle any errors they may encounter on an application level in the decode/encode functions in order to avoid "crashing" their applications?
Should we allow filtering ability in both the decoder and encoder where if a None or nil is the result, the message gets filtered?
Related Issues
#2232
#2234

Also related: https://github.com/WallarooLabs/wallaroo/issues/2220

I think we should allow for "filtering" in decoders where returning None/nil results in the message being dropped. This would allow for bad data to be dropped when its discovered to be "bad data" and not force every computation to have to be able to process None/nil.

I agree with @SeanTAllen . In my first attempt at dealing with decoding failure, returning None for bad data is exactly what I did, since all the other Wallaroo transitions support this pattern.

The filtering idea makes sense to me as well.

I think filtering makes sense, though for actual errors in the decoder we might want to consider finding a way to allow the user code to raise an exception and translate that into a Pony error so that it could be handled like an error in the Wallaroo Pony API. We might also consider making it so that an encoder's apply method could raise an error. Basically, there might be some good in distinguishing between things that are filtered and cases where we don't send a message along because there was actually a problem.

@aturley can you elaborate on the raised exception translated to a Pony error? I know in Python you can catch certain exceptions and the rest will result in a raised exception which will lead to the above Fail() scenario. Is that what you had in mind or something different?

@JONBRWN if you look at the underlying Pony API, you can signal "this is bad data" by using error in your Pony code. When @aturley says "translate that into a Pony error" what he means is...
Machida catches the Python exception and then does error in Pony code to signal to Wallaroo that there was "bad data".

@aturley @SeanTAllen so let's say in the case of a decode failure in the Python API where the user did not handle the exception, currently, they'll receive something along the lines of:
Traceback (most recent call last):
  File "/src/wallaroo/machida/wallaroo.py", line 170, in decode
    return decoder_function(bs)
  File "/src/wallaroo/examples/python/reverse/reverse.py", line 59, in decoder
    return bs.decode("utf-8")
  File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 11: invalid start byte
This should never happen: failure in /wallaroo-src/machida/machida.pony at line 711

and in a Pony app they'll get the following:
Unable to decode message at Orders source
This should never happen: failure in /wallaroo-src/lib/wallaroo/core/source/tcp_source/framed_source_notify.pony at line 135

when you say Machida catches the Python exception and then does error in Pony code to signal to Wallaroo that there was "bad data". does that mean we'll skip the Fail() in Machida and propogate the Pony error instead? if so, do we no longer print the Python stack trace?
just trying to get a better understanding of what was meant

@JONBRWN yes, there would be no Fail(), instead error is "thrown" which would trigger the error handling in sources at the Wallaroo level that ends up dropping the data. See for example:
https://github.com/WallarooLabs/wallaroo/blob/master/lib/wallaroo/core/source/tcp_source/framed_source_notify.pony#L108

@SeanTAllen ok, I understand what you mean now. so do we drop the Python errors from printing as well in this scenario?

@JONBRWN what is "caught exception"? what is an "uncaught exception"?


prediction script

❓ Questions & Help
Details
do you have prediction script?

Prediction is not supported yet. We will add more later.

In hydra_eval.py, line 47,
"model = MODEL_REGISTRY[configs.eval.model_name].load_from_checkpoint(configs.eval.checkpoint_path)",
An error occurs that config and tokenizer parameters are missing.
I use "model = MODEL_REGISTRY['joint_ctc_conformer_lstm'].load_from_checkpoint(configs=configs,
checkpoint_path=configs.eval.checkpoint_path,
tokenizer=None)"
and do some other modifications,  program runs without errors , but the predicted results looks like not right  that there are a lot of repetitive words.

As #86 saied.

Can you show me the result?

and now ,the train_cer of training is already less than 0.5.

I'm sure it's weird. Can you organize and write both train and evaluation scripts about which model you used?

model: joint_ctc_conformer_lstm,
Major modifications in script:

I wonder if  can load the model with 'torch. load',or only use 'load_from_checkpoint' in pytorch-lightninig.

I'm sure it's weird. Can you organize and write both train and evaluation scripts about which model you used?
I wonder if can load the model with 'torch. load',or only use 'load_from_checkpoint' in pytorch-lightninig.

I'm sure it's weird. Can you organize and write both train and evaluation scripts about which model you used?

I wonder if can load the model with 'torch. load',or only use 'load_from_checkpoint' in pytorch-lightninig.


docs: Add related libraries

Added links to two related libraries, and alphabetized the list.

Thanks!


[BUG] - DNS Lookup while deploying often takes time and fails to match LB ip to Domain.

Describe the bug
While deploying on AWS, the nebari deployment tries to match the IP of the AWS load balancer and the host. The AWS on the other hand gives 2 IPs for the load balancer that it keeps on rotating.
Below is another dig this time on the hostname it tries to match this with:
(base)  ➜ nebari-aws (2154-aws-set-minimum-notes-to-0) ✏  dig nebari.prashanttiwari.com

; <<>> DiG 9.10.6 <<>> nebari.prashanttiwari.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5851
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;nebari.prashanttiwari.com.     IN      A

;; ANSWER SECTION:
nebari.prashanttiwari.com. 1123 IN      CNAME   a2c6987d8de97475491b592d93537928-2145647921.eu-west-1.elb.amazonaws.com.
a2c6987d8de97475491b592d93537928-2145647921.eu-west-1.elb.amazonaws.com. 60 IN A <IP_ADDRESS>
a2c6987d8de97475491b592d93537928-2145647921.eu-west-1.elb.amazonaws.com. 60 IN A <IP_ADDRESS>

;; Query time: 91 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Fri Dec 22 12:35:11 GMT 2023
;; MSG SIZE  rcvd: 168

(base)  ➜ nebari-aws (2154-aws-set-minimum-notes-to-0) ✏

The code currently only considers one of these IPs while doing the match to the hostname(the first one).
Therefore, it keeps on failing to find a match until AWS decides to return the second IP, in which case it passes.
Expected behavior
While matching the domain IP with the LB IP, both the available IPS on the domain should be considered.
OS and architecture in which you are running Nebari
AWS
How to Reproduce the problem?
Deploy the default config for AWS.
Redacted config:
provider: aws
namespace: dev
nebari_version: 2023.11.2.dev1+gb0c451d1
project_name: nebaridemo
domain: nebari.aaa.com
ci_cd:
  type: none
terraform_state:
  type: remote
security:
  keycloak:
    initial_root_password: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
  authentication:
    type: password
theme:
  jupyterhub:
    hub_title: Nebari - nebaridemo
    welcome: Welcome! Learn about Nebari's features and configurations in the
      documentation. If you have any questions or feedback, reach the team on
      Nebari's support
      forums.
    hub_subtitle: Your open source data science platform, hosted on Amazon Web Services
amazon_web_services:
  kubernetes_version: '1.26'
  region: eu-west-1
certificate:
  type: lets-encrypt
  acme_email<EMAIL_ADDRESS>
Command output
Attempt 8 polling DNS domain=nebari.prashanttiwari.com does not match ip=<IP_ADDRESS> instead got <IP_ADDRESS>

Versions and dependencies used.
Following dependencies were used:
(base) ➜ nebari-aws (2154-aws-set-minimum-notes-to-0) ✏ conda --version
conda 4.8.2
(base) ➜ nebari-aws (2154-aws-set-minimum-notes-to-0) ✏ kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"26+", GitVersion:"v1.26.11-eks-8cb36c9", GitCommit:"3970d4cb523c57bbb0780125446d60f9aca260ad", GitTreeState:"clean", BuildDate:"2023-11-22T21:52:34Z", GoVersion:"go1.20.11", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.22) and server (1.26) exceeds the supported minor version skew of +/-1
(base) ➜ nebari-aws (2154-aws-set-minimum-notes-to-0) ✏

Compute environment
AWS
Integrations
No response
Anything else?
We need a small change in the logic of check_ingress_dns at line:
diff --git a/src/_nebari/stages/kubernetes_ingress/__init__.py b/src/_nebari/stages/kubernetes_ingress/__init__.py
index cabe61f0..1f36f8d4 100644
--- a/src/_nebari/stages/kubernetes_ingress/__init__.py
+++ b/src/_nebari/stages/kubernetes_ingress/__init__.py
@@ -75,15 +75,15 @@ def check_ingress_dns(stage_outputs: Dict[str, Dict[str, Any]], disable_prompt:
     ):
         for i in range(num_attempts):
             try:
-                resolved_ip = socket.gethostbyname(domain_name)
-                if resolved_ip == ip:
+                _, _, ipaddrlist = socket.gethostbyname_ex(domain_name)
+                if ip in ipaddrlist:
                     print(
                         f"DNS configured domain={domain_name} matches ingress ip={ip}"
                     )
                     return True
                 else:
                     print(
-                        f"Attempt {i+1} polling DNS domain={domain_name} does not match ip={ip} instead got {resolved_ip}"
+                        f"Attempt {i+1} polling DNS domain={domain_name} does not match ip={ip} instead got {ipaddrlist}"
                     )
             except socket.gaierror:
                 print(

The socket function gethostbyname_ex(docs) returns a list of IPs. We can find our lookup IP in the list.
This fixes the issue and speeds up the deployment as well.

If you agree with the findings, I would happily create a mini PR for review.

Hi @pt247 thanks for the report and the diagnosis. Currently for AWS we recommend creating a CNAME record for the AWS load balancer's DNS name. We will review your PR verify it works, if we can use an A record or a CNAME that would be a nice improvement. Thanks again for the contribution.

Thanks for the feedback.
Will the CNAME record for AWS Load Balancer resolve this problem? Will it also point to 2 destinations? I don't know.
I forgot to mention earlier that I have tested the change by deploying it in my AWS account. It works fine on fresh and redeploy. Integration tests are passing.

Hi @pt247, yes the CNAME record pointing to the load balancer's DNS name works here and is the recommended solution. There are multiple IP addresses associated with an AWS ALB because ALB must be in at least 2 different subnets for high availability. If you use a CNAME record, you maintain that high availability. If you use an A record pointing to only one of the IP's, you lose it. You could potentially create an A record for each IP that the ALB has, that would work, but it is more work than just using a CNAME.

Is this what you are recommending?

I have a domain, let's say foo.com. I also have CNAME entry in it for nebari.foo.com that points to load balancer's DNS name for example, a2c6987d8de97475491b592d93537928-2145647921.eu-west-1.elb.amazonaws.com.

If yes, then this is precisely what I have tried. And while deploying it often complains when it expects one resolved IP not the other.
If not, then can you please suggest what else I should be doing?

Hi @pt247,
The recommended way of doing this with AWS is a CNAME record from your domain name to the aws lb dns name.
so if you want to deploy to nebari.foo.com and your load balancer is abc123.us-west-1.elb.amazonaws.com you should add a CNAME to your dns for foo.com with a value of nebari and content of abc123.us-west-1.elb.amazonaws.com.

Thanks for looking into this. And thanks for your patience. Please let me try and explain this in detail.
If I missed something, please let me know. I am always happy to learn.
Just so you know- I have followed your recommendations. Initially, I thought GoDaddy DNS was a problem, so I moved my hosted zone to AWS.
This is how my setup looks like:
Setup
I want to deploy to prashanttiwari.com
load balancer is a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
CNAME added to AWS DNS for prashanttiwari.com with value of nebari and content as a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
Validation for setup
$  dig nb.prashanttiwari.com

; <<>> DiG 9.10.6 <<>> nb.prashanttiwari.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 326
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;nb.prashanttiwari.com.         IN      A

;; AUTHORITY SECTION:
prashanttiwari.com.     900     IN      SOA     ns-548.awsdns-04.net. awsdns-hostmaster.amazon.com. 1 7200<PHONE_NUMBER> 86400

;; Query time: 52 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Thu Jan 04 11:56:00 GMT 2024
;; MSG SIZE  rcvd: 131

$

And with nslookup
$  nslookup nebari.prashanttiwari.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

Non-authoritative answer:
nebari.prashanttiwari.com       canonical name = a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com.
Name:   a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
Address: <IP_ADDRESS>
Name:   a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
Address: <IP_ADDRESS>
$

And running it again:
$ nslookup nebari.prashanttiwari.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

Non-authoritative answer:
nebari.prashanttiwari.com       canonical name = a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com.
Name:   a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
Address: <IP_ADDRESS>
Name:   a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com
Address: <IP_ADDRESS>
$

Note that the order of Non-authoritative answer changed.
Issue
Recreating issue via python
This order change behaviour sometimes affects socket.gethostbyname as well.
Here is a simple Python validation script for the same:
>>> import socket
>>> domain_name = "nb.prashanttiwari.com"
>>> alb = "ab94b58ba94da4529836e28b31a0e215-1783756323.eu-west-1.elb.amazonaws.com"
>>> socket.gethostbyname(domain_name)
'<IP_ADDRESS>'
>>> socket.gethostbyname(alb)
'<IP_ADDRESS>'
>>> socket.gethostbyname(alb) == socket.gethostbyname(domain_name)
True
>>> # This matches (Happy path for the current code)
>>> # Testing if this behaviour changes over time
>>> import time
>>> while True:
...     dn_ip = socket.gethostbyname(domain_name)
...     alb_ip = socket.gethostbyname(alb)
...     if dn_ip != alb_ip:
...         print(f"\nFound mismatch in Domain IP resolution as {dn_ip} and ALB IP resolution as {alb_ip}")
...         break
...     print(".", end='', flush=True)
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Found mismatch in Domain IP resolution as <IP_ADDRESS> and ALB IP resolution as <IP_ADDRESS>
>>> # **I must admit it had to wait longer than this, just enough till the internal load balancer got some load**

Issue
If the above behaviour occurs while deploying Nebari we would get an error something like this:
Attempt 8 polling DNS domain=nebari.prashanttiwari.com does not match ip=<IP_ADDRESS> instead got <IP_ADDRESS>
...

Proposed solution
From Socket Documentation
The documentation for socket.gethostbyname also recommends:

Translate a host name to IPv4 address format. The IPv4 address is returned as a string, such as '<IP_ADDRESS>'. If the host name is an IPv4 address itself it is returned unchanged. See gethostbyname_ex() for a more complete interface.

The socket.gethostbyname_ex documentation explains it as follows:

Translate a host name to IPv4 address format, extended interface. Return a 3-tuple (hostname, aliaslist, ipaddrlist) where hostname is the host’s primary host name, aliaslist is a (possibly empty) list of alternative host names for the same address, and ipaddrlist is a list of IPv4 addresses for the same interface on the same host (often but not always a single address).

Solution in practice
Simply gethostbyname_ex and compare all the IP addresses returned.
>>> domain_name = "nebari.prashanttiwari.com"
>>> alb = "a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com"
>>> socket.gethostbyname_ex(domain_name)
('a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com', ['nebari.prashanttiwari.com'], ['<IP_ADDRESS>', '<IP_ADDRESS>'])
>>> socket.gethostbyname_ex(alb)
('a55cc13004c534a7e8a37acb1d276d0f-27283214.eu-west-1.elb.amazonaws.com', [], ['<IP_ADDRESS>', '<IP_ADDRESS>'])
>>> socket.gethostbyname_ex(domain_name)[2]
['<IP_ADDRESS>', '<IP_ADDRESS>']
>>> set(socket.gethostbyname_ex(domain_name)[2]) == set(socket.gethostbyname_ex(alb)[2])
True
>>>

PS: The alb address in the above comment has changed since. Please use dig to find the new one.

Hi @pt247, thanks for taking the time for the explanation there. I think your summary of the situation is correct, and your solution is a good one.


Test 2 link not working

The link test 2 is not working in index.html F.Y.I Everything else is fine!

Yes, I figured that out. I am planning on using a different link system...
But thanks for making an issue!


what about processing the payment on server?

I'd like to process the order in bitcoin on my server and not using the external site, Bitpay to redirect customer too?

You can use the BitPay plugin to accept bitcoin payments on your Magento website.
You opened an issue, but I'm not sure what your question is. Can you clarify you need?


Update makerom

Could you update makerom for all platforms from the latest sourcecode?
https://github.com/profi200/Project_CTR/tree/master/makerom

Updated.


Always pointing at the same heading

The module always shows somewhere at around 80- 95 degrees, why is that? I tried roaming around with the device it always fall on that angle.

what kind of device are you testing it on? It should work on all iOS devices, but some Androids don't have a magnetometer (for example my moto E 2nd generation)


Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10.
TensorFlow installed from (source or binary): Binary.
TensorFlow version (use command below): tensorflow-1.3.0-cp36-cp36m-win_amd64.whl
Python version: 3.6.
Bazel version (if compiling from source): N/A.
CUDA/cuDNN version: N/A.
GPU model and memory: GT 650M.
Exact command to reproduce: python followed by import tensorflow as tf.

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
I followed exactly on how to install Tensorflow, but whenever I try to do something involving Tnesorflow this error comes up. I installed Tensorflow using Anaconda 4.4. I first typed conda create -n tensorflow python=3.6 then activate tensorflow then pip install --ignore-installed --upgrade tensorflow. After that, I typed python then import tensorflow as tf I get this error: Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

The installation guide includes this warning:
"The Anaconda installation is community supported, not officially supported."
You might try the pip install, or see whether you can get help with the conda install on stackoverflow.

Also, we have no MKL support on Windows yet.
All our build rules are only written for ubuntu at the moment.


Chart.js is not loading inside the

Hi
I am using chart.js version 2.5.0
Chart.js is not working inside the iframe.

<canvas></canvas>

Error: Failed to create chart: can't acquire context from the given item
i am working one page which has master header and footer.
on the left menu click, ifames are loaded in the content area.
inside the  i am loading chart.js
Expected Behavior
Chart need to render in chrome and IE11.
Current Behavior
Chart is rendering in firefox not in other browsers.
i am looking for chrome and IE11 fix.
Possible Solution

Steps to Reproduce (for bugs)
Link to Jsfiddle
http://jsfiddle.net/mW8kv/27/
Context
I am working on chart based application, here i want to include chart.js and render charts accordingly.
Environment

Chart.js version: 2.5.0
Browser name and version: Chrome 56.0.2924.87, IE 11, Firefox

@Manjunath-Siddappa sorry for the late reaction on this ticket. I think #4152 is the same issue and we are thinking about the solution detailed in this comment. Are you able to try it locally and confirm it works in your use case?

Resolved in #4165

Hi
is this issue is fixed.
I saw this comment in 4165
@simonbrunel simonbrunel deleted the simonbrunel:fix/4102
If yes, could anyone guide me which files i have to merge or take?
Thanks
Manjunath


use ipv4

What this PR does?
Summary:
When localhost resolved ipv6 address(::1)，root access will be denied(root access only allow localhost and <IP_ADDRESS> by default).
So use ipv4 access explicitly is better.

Thank you for your commit! We will review as soon as possible.

mysql5.7 support ipv6 address(::1)， are  you sure not change my.cnf 's bind-adress ?

mysql5.7 support ipv6 address(::1)， are you sure not change my.cnf 's bind-adress ?

I mean the default record in table mysql.user, where root user were only allowed by Host='<IP_ADDRESS>' or Host='localhost' .
It's not a network issue.

use ::1 login , mysql is not denied, can you show more detail?

Thank you for your commit! What is the reason for modifying the host?

please check the etc/hosts  file , and ping ::1 is success ?


As a dev, I want to explore alternative web frameworks to Flask for improved performance and developer experience

Description
Context
Currently, we use Flask to build our APIs. While Flask has been sufficient, it is synchronous and lacks some modern features like built-in asynchronous support and automatic API documentation (OpenAPI/Swagger). There are other open-source frameworks that could better suit our needs by offering enhanced developer experience and feature sets. We are considering alternatives like FastAPI, Quart, and others that meet our criteria, but only open-source solutions will be considered.
Problem Statement
Flask’s synchronous nature and lack of modern tooling (like automatic async support and Swagger generation) requires extra effort from developers. Evaluating other open-source frameworks that offer these features could improve the developer experience, streamline API development, and potentially enhance performance. While Django is excluded for being too heavyweight and opinionated for our use case, there may be other alternatives beyond FastAPI and Quart worth exploring.
Acceptance Criteria

Research and compare various open-source web frameworks (including but not limited to FastAPI and Quart) with respect to developer experience, feature set, ease of use, and scalability.
Evaluate async capabilities, API documentation support (OpenAPI/Swagger), and community support.
Document potential migration challenges from Flask to any alternative framework.
Provide a well-reasoned recommendation, outlining the pros and cons of each alternative, and the potential benefits to the team.

Additional Information

Python devs survey 2023 results
How I compare FastAPI with Flask/Quart by Philip Jones author of Quart

Closing this as done.


Unit tests on appveyor are unable to generate coverage report for .NET Core

Description

When running the unit tests on appveyor (possibly locally as well), the .NET Core frameworks of the unit tests are unable to generate any coverage reports.
Expected Behavior

Coverage reports should be available to be generated from both Full .NET Framework, and the .NET Core framework.
Actual Behavior

See the description.
Possible Fix

Unsure currently
Steps to Reproduce

Run build.cake
Context

Your Environment

Not relevant

This seems to happen because the targeting framework is set to .NET Core 3.0, I assume that it just don't work with OpenCover.
PR is incoming that changes the framework to .NET Core 2.2 instead, which seems to work.


MINOR: Add all topics created check streams broker bounce test

The StreamsBrokerBounceTest.test_broker_type_bounce experienced what looked like a transient failure. After looking over this test and failure, it seems like it is vulnerable to timing error that streams will start before the kafka service creates all topics.
org.apache.kafka.streams.errors.TopologyException: Invalid topology: stream-thread [SmokeTest-44232843-7798-4a19-b0a8-56deedd866e6-StreamThread-1-consumer] Topic not found: sum
        at org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor$CopartitionedTopicsValidator.validate(StreamsPartitionAssignor.java:923)
        at org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor.ensureCopartitioning(StreamsPartitionAssignor.java:902)
        at org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor.assign(StreamsPartitionAssignor.java:468)
        at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.performAssignment(ConsumerCoordinator.java:419)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.onJoinLeader(AbstractCoordinator.java:592)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.access$1100(AbstractCoordinator.java:94)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$JoinGroupResponseHandler.handle(AbstractCoordinator.java:544)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$JoinGroupResponseHandler.handle(AbstractCoordinator.java:527)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:894)
        at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:874)

After making the changes, I kicked off a branch builder with five repeats
Note that the reason I chose five repeats is the test uses a matrix and generate eight versions of the test and each test lasts about 5 minutes. There will be mirrored PRs for 2.0, 2.1 and 2.2.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@guozhangwang, @mjsax, @vvcephei, and @ableegoldman for reviews

updated this and kicked off a new branch builder https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2349/
If it passes I'll update the other PR's and push

branch builder passed http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2019-02-14--001.1550185951--bbejeck--MINOR_add_all_topics_created_check_StreamsBrokerBounceTest--d51117a/report.html

Neglected to remove old code, cleaned up and kicked off a new branch builder https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2351/

Retest this please


[FLINK-11518] [table] Add partition related catalog APIs and implement them in GenericInMemoryCatalog

What is the purpose of the change
This PR adds support for partition related operations to Catalog APIs
Brief change log

adds partition related APIs in both ReadableCatalog and ReadableWritableCatalog
implemented them in GenericInMemoryCatalog

Verifying this change
This change added tests and can be verified as follows:

added corresponding unit tests in GenericInMemoryCatalogTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes )
If yes, how is the feature documented? (JavaDocs)

cc @twalthr @dawidwys @zjffdu

@flinkbot attention @wuchong

To summarize changes I made so far:

make CatalogPartitionSpec its own class, and use it as id for partitions in APIs, like ObjectPath as id for tables
removed its copy() method, since it internally keeps an unmodifiable map

@flinkbot attention @KurtYoung

LGTM, will merge this after travis


custom-domain-routes no routes found

Hi,
I'm following the instruction https://github.com/SAP-samples/btp-cap-multitenant-saas/blob/main/docu/4-expert/-CloudFoundry-/custom-domain-usage/README.md and get stuck in the following configuration.
I'm trying to create a custom domain mapping in my sub-account. I'm experiencing the inconsistent behaviour, which is cannot troubleshoot myself, so I kindly ask you to help me. The mapping creation finishes successfully:
d057039:my_own_rootCA$ cf custom-domain-map-route myapp-app-router.cfapps.eu12.hana.ondemand.com aaa.mydomain.cloud.sap
Command: custom-domain-map-route
Organisation:  tdo-dev  (184bdae4-0c2f-4174-9a64-fb847e13d13e)
API Endpoint:  https://api.cf.eu12.hana.ondemand.com/
Custom-Domain API Server:  https://custom-domain-certificates-api.cf.eu12.hana.ondemand.com/
OK
However the consequent mapping check shows the mapping is not created:
d057039:my_own_rootCA$ cf custom-domain-routes
Command: custom-domain-routes
Organisation:  tdo-dev  (184bdae4-0c2f-4174-9a64-fb847e13d13e)
API Endpoint:  https://api.cf.eu12.hana.ondemand.com/
Custom-Domain API Server:  https://custom-domain-certificates-api.cf.eu12.hana.ondemand.com/
No routes found
Trying to access the custom domain via web-browser confirms the mapping was not created:
https://aaa.tdo.cloud.sap/
404 Not Found: Requested route ('aaa.mydomain.cloud.sap') does not exist.
How can I create the mapping?

Hi @0anton,
Thank you very much for your interest in our sample repository.
From the domain you are using I understand that you are SAP Internal.
Custom Domain section of the repository aims guidance for SAP Partners and SAP Customers only. (May be we should mention that in the documentation since the repository gets also attraction from internal colleagues.)
I will share with you the internal guidence about the usage of SAP subdomains with SAP Custom Domain Service through internal channels and would be happy to support you.

Thanks, Alper, for your kind help!
It worked best at last!
As I used the custom-domain-service application with the service plan standard I could closely follow your guide and create a custom domain for my app. Even the certificate was automatically provisioned using a DigiCert Authority!


Improved library & solved one Todo

Refactored library, added more props, added more tests, added generic argument, updated README.md.

Will close this now.
Made my own library formik-remember, which will accept all of your pull requests and fix your issues :)


Exponent and log10 based solveFor operations return wrong answers and cause errors

When executing the following code in the browser:
nerdamer('y = log10(x)').solveFor('x')[0].text() returns -1+y instead of 10^y
nerdamer('y = 10^x').solveFor('x')[0].text() returns 0.43429448190325176*log(y) instead of log10(y)
even nerdamer('y = 2^x').solveFor('y')[0].text() returns 1 instead of 2^x
The first one also gives me the following error:
RangeError: Maximum call stack size exceeded
    at text (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:2488:30)
    at Symbol.text (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4589:20)
    at Symbol.toString (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4687:25)
    at Array.sort (<anonymous>)
    at Symbol.collectSymbols (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4573:30)
    at text (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:2405:33)
    at Symbol.updateHash (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4475:30)
    at Symbol.insert (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4431:30)
    at Symbol.attach (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:4445:25)
    at Parser.add (D:\Coding Projects\Web App\Testing\grapher1\node_modules\nerdamer\nerdamer.core.js:8998:36)

Thanks for writing this up. It looks to me, from the unit tests, like Nerdamer never had solving capability around 10^x, only e^x or exp(x). When I have some time, I'll look into how hard that would be to add.
Also, I cannot repro your third statement nerdamer('y = 2^x').solveFor('y')[0].text(), that works for me.

Looks bad in together.math, too:

Relabeled and renamed to reflect progress.


loader-transformer

Fixes #55
Added:

loader, transformer interfaces

LoadFile(file string) KomposeObject
Transform(KomposeObject, ConvertOptions)

bundlefile, compose packages
kubernetes, openshift packages

@kadel Please take a review and give me your comments.

I think that it would be great to clean up  pkg/transformer/utils.go a little bit more (see my inline comment) But otherwise it looks good :+1:
It would be great if @janetkuo could also check this.

And our only unit test now fails :smiley:
# github.com/skippbox/kompose/cli/app
cli/app/app_test.go:102: undefined: parseVolume
FAIL	github.com/skippbox/kompose/cli/app [build failed]

Thanks @kadel .
Originally, I put all Init* functions into kubernetes package. However, from my viewpoint, kompose support converting input to kubernetes-based providers' primitives. So I moved all basic functions (like Init*) to transformer's utils.

Well it should fail as parseVolume() now is moved to transformer package :smile_cat:

Originally, I put all Init* functions into kubernetes package. However, from my viewpoint, kompose support converting input to kubernetes-based providers' primitives. So I moved all basic functions (like Init*) to transformer's utils.

I don't know, for me it seems inconsistent, because you have Init* functions in generic transformer package but for example UpdateController, that operates on those objects, is in kubernetes.
For me it seems to be more logical to have everything that works with kubernetes together.

I don't know, for me it seems inconsistent, because you have Init* functions in generic transformer package but for example UpdateController, that operates on those objects, is in kubernetes.
For me it seems to be more logical to have everything that works with kubernetes together.

Okay, I agree. That would be very easy to fix. I will move them to Kubernetes except non-related k8s functions such as print(), createOutFile() or randStringBytes() So I will stay tuned for @janetkuo 's comments prior to get it merged.

Ah, I totally missed this PR...


Pagination broken - Next URL more than 2048 characters

Describe the bug
The "next" url in the link section of a Bundle resource results in a 404 response. I believe this is related to the URL specified as "next" is longer than 2048 characters. In our case, it is 5,399 characters. We are using the Azure API for FHIR.
FHIR Version?
R4
Data provider?
CosmosDB
To Reproduce
Steps to reproduce the behavior:

Send a GET response to /Encounter (We have > 100,000 Encounters)
Copy the link of the URL tagged with relation: next in the link object.
Send a GET to the link copied from step 2.
You should get a 404 response if the URL is too long

Expected behavior
Next page of Encounter resources should display
Actual behavior
A 404 response message is returned saying The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Here is our initial call to /Encounter:

Here is the response when calling the URL from the next link:

@mikemassa84 Thanks for the bug report.  Could you let me know the Azure API for FHIR account name?  It will be helpful in trying to debug this.

@mikemassa84 Thanks for the bug report.  Could you let me know the Azure API for FHIR account name?  It will be helpful in trying to debug this.

@mikemassa84 Thanks for the bug report. Could you let me know the Azure API for FHIR account name? It will be helpful in trying to debug this.

@feordin Name is nma1-s2-fhir
Let me know if you need anything else.

@mikemassa84 Thanks for the bug report. Could you let me know the Azure API for FHIR account name? It will be helpful in trying to debug this.

@feordin Name is nma1-s2-fhir
Let me know if you need anything else.

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown.  We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb.  We then encode those continuation tokens in base64, which would match up with the length you see of 5399.  When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.
Is it possible you have a proxy server running? or other routing mechanism which might apply the 2k limit to the Url length?
Are you able to open an azure support ticket?  It might be easier to continue debugging the issue with a more direct method of communication.

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown.  We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb.  We then encode those continuation tokens in base64, which would match up with the length you see of 5399.  When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.
Is it possible you have a proxy server running? or other routing mechanism which might apply the 2k limit to the Url length?
Are you able to open an azure support ticket?  It might be easier to continue debugging the issue with a more direct method of communication.

@feordin We do have a proxy in front of our fhir api. It is running as an Azure function and simply passes the request through as is. I'll try stepping through that code and see if the function is truncating the continuation token. If that's not the case, I'll have an Azure support ticket opened. My team also has a standing meeting with Microsoft on Fridays, so maybe we can pull you in that way as well?

@feordin We do have a proxy in front of our fhir api. It is running as an Azure function and simply passes the request through as is. I'll try stepping through that code and see if the function is truncating the continuation token. If that's not the case, I'll have an Azure support ticket opened. My team also has a standing meeting with Microsoft on Fridays, so maybe we can pull you in that way as well?

@feordin I ran our fhir proxy function locally and it worked without issue. The failure is occurring when the proxy is running deployed to Azure.

@feordin I ran our fhir proxy function locally and it worked without issue. The failure is occurring when the proxy is running deployed to Azure.

I think it would be a great topic to bring up in your standing meeting on Friday.  I saw this documentation (https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp) related to HTTP triggers for Azure functions which seem to indicate that the limit for a function url length is 4kb.  It also seems to indicate that it may be configurable in the web.config file.

I think it would be a great topic to bring up in your standing meeting on Friday.  I saw this documentation (https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp) related to HTTP triggers for Azure functions which seem to indicate that the limit for a function url length is 4kb.  It also seems to indicate that it may be configurable in the web.config file.

@feordin  You can probably close this as the issue does seem related to the Azure functions being limited by maxQueryStringLength="4096" being set. Not sure if we are able to update that, but I'll reach out to support for it.
I imagine the FHIRProxy MS wrote would encounter the same issue?
https://github.com/microsoft/health-architectures/tree/master/FHIR/FHIRProxy

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown. We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb. We then encode those continuation tokens in base64, which would match up with the length you see of 5399. When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.

Do you think it would make sense to ensure the base64 encoded token does not exceed 4kb, since that is what is sent back by calling systems?

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown. We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb. We then encode those continuation tokens in base64, which would match up with the length you see of 5399. When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.

Do you think it would make sense to ensure the base64 encoded token does not exceed 4kb, since that is what is sent back by calling systems?

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown. We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb. We then encode those continuation tokens in base64, which would match up with the length you see of 5399. When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.

Do you think it would make sense to ensure the base64 encoded token does not exceed 4kb, since that is what is sent back by calling systems?

@mikemassa84 Apologies for the delay in the response.  I wanted to check in with the broader team to confirm making a change.  Yes, we agree that making the continuation token smaller is a good idea, and it is on the backlog to be done.  I am afraid I don't have an ETA on when it will happen.
I am curious if you were able to change the maxQueryStringLength of the azure function and mitigatge the issue for now?

@mikemassa84 I have tried to repro your issue, but have not been able to see the same error which you have shown. We have our service configured to handle Urls of up to 8kb, and Cosmos DB should be generating continuation tokens of up to 4kb. We then encode those continuation tokens in base64, which would match up with the length you see of 5399. When I attempt to query your instance with a url of approximately 5400 bytes in length, I receive an operation outcome with Authentication Failed error, which is what I expect to happen.

Do you think it would make sense to ensure the base64 encoded token does not exceed 4kb, since that is what is sent back by calling systems?

@mikemassa84 Apologies for the delay in the response.  I wanted to check in with the broader team to confirm making a change.  Yes, we agree that making the continuation token smaller is a good idea, and it is on the backlog to be done.  I am afraid I don't have an ETA on when it will happen.
I am curious if you were able to change the maxQueryStringLength of the azure function and mitigatge the issue for now?

@feordin Unfortunately, I could not find a way to change the maxQueryStringLength setting. I tried using ISS Manager extension for App Service to change the setting of the underlying IIS, but it didn't seem to make any difference. Either the extension doesn't work, I didn't use it properly, or the extension isn't relevant to function apps.
I was able to get in touch with some of the folks who work on the MS FHIR Proxy, so hopefully I can come up with something with them. Worst case scenario for me is I use my proxy for post/put/patch/delete operations and go directly to the fhir api for read operations.

@feordin Unfortunately, I could not find a way to change the maxQueryStringLength setting. I tried using ISS Manager extension for App Service to change the setting of the underlying IIS, but it didn't seem to make any difference. Either the extension doesn't work, I didn't use it properly, or the extension isn't relevant to function apps.
I was able to get in touch with some of the folks who work on the MS FHIR Proxy, so hopefully I can come up with something with them. Worst case scenario for me is I use my proxy for post/put/patch/delete operations and go directly to the fhir api for read operations.

AB#78736

We reduced the size of the token to 3K so this should resolve.

We reduced the size of the token to 3K so this should resolve.

This is still broken if you search by multiple parameters. Here's an example from our server:
/Patient?name=Smith&gender=female
This generated a ct with the following:
[encoded data, 4103 characters]%3D

Thanks @mikemassa84. We are able to reproduce and are considering what the best next step would be. We did reduce the size of the token, but when we base64 encode it, it is adding enough that it is getting pushed over the limit. I'll reopen this issue.

@CaitlinV39 maybe a hash and store? You could put the base64 string through a sha256 hash and build a hex string out of it. That'd consistently give you a 64 character string you could use in place of the base64 string. You'd have to store the hash to original string mapping though to get back to your original token...

we are also facing same issue and we are using 2.0.172 build

AB#87261

@mikemassa84 - we recently addressed the issue by introducing header "x-ms-documentdb-responsecontinuationtokenlimitinkb". The next link in the bundle has a continuation token size limit of 3KB. You have flexibility to tweak the continuation token size between 1 to 3KB using header. Please let us know if your issue is addressed with the header.


store the least row in each part

This fixes the race condition that was reported in #86 I'm not thrilled with this solution as it seems like there should be a better way to read the first row from the part without causing a data race.

I don't totally understand what's happening here. The stacktrace reads to me that there is an insert racing with a compaction trying to read a partial insert, this shouldn't happen in the first place. While this may fix the race we're detecting I don't think this fixes the actual semantic problem happening here. Am I missing something?

parquet ReadRows causes a write with runtime.slicecopy() which is where the write conflict comes from. I definitely don't understand how the compaction is causing a race with an insertion on the same buffer though

closing in favor of #96


[e2e]: container schedule main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6464268248
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Oct 10 03:17:46 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6477517076
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Wed Oct 11 03:18:03 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6490792971
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Oct 12 03:18:17 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6503569113
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Fri Oct 13 03:18:06 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6515241155
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Sat Oct 14 03:18:00 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6521652671
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Sun Oct 15 03:17:36 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6528544147
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Mon Oct 16 03:18:23 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/6542057887
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Oct 17 03:19:08 UTC 2023
Tests are passing now. Closing this issue.


Add the SSL option of disabling DTLS record replay check

As described in RFC 6374 section-3.3, replay detection is optional.
In some cases, apps can detect duplicate packets in BIO level based
on their strategy, such as larger window range. So add SSL option of
disabling replay check.

I'm testing the code modification scheme. I will introduce the plan of test and updated documentation in #22970.

Could OTC accept scheme of the pull request? If OTC accept it, we would introduce the changes in our application to handle the issue we faces. Thanks very much. @mattcaswell

ping @t8m @mattcaswell

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

@huiyuexu Would you be able to make the requested changes? This PR seems worthwhile.

@hlandau I will submit test cases as soon as I am ready.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 92 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 123 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 154 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 185 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 216 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 247 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

Hi there :) this is exactly what I need currently :) is this really blocked or did this feature got included somewhere somewhere else?

It seems this is just waiting on a last minor https://github.com/openssl/openssl/pull/22980#discussion_r1429692315. given that this has sat idle for 250 days, is there any reason we can't just fix up the last nit ourselves and merge what appears to be a fairly worthwhile change?

It is more than just a doc nit. My review comment about the location of the test being wrong was marked as resolved, but no fixup to address it was pushed. The test location in bad_dtls_test.c is not correct IMO.

Sure, BUT, though I am quite supportive of the general intent, and most of the implementation, I am less confident that using an SSL option bit for this control is the right way to do it. We only have 64 option bits, and they should be used sparingly, and ideally only for broadly meaningful controls that apply long-term across multiple TLS variants.

IMO this does make sense as an option bit. Yes, we only have 64 of them, but I think when we run out we will introduce some extension mechanism for this. It took us 20 or so years to run out the first time (when we were using a 32 bit value). I expect it to be some considerable time before we have to worry about this.

Hi there :) this is exactly what I need currently :) is this really blocked or did this feature got included somewhere somewhere else?

Yes, its really blocked. The original contributor seems to have gone away. Someone else could pick this up and create a new PR based on this one addressing the review issues - but its unlikely to be a priority for the core dev team.

Yes, its really blocked. The original contributor seems to have gone away. Someone else could pick this up and create a new PR based on this one addressing the review issues - but its unlikely to be a priority for the core dev team.

Me myself I have no experience in contributing too such a big project that openssl ist :) Even though the code changes seem small enough I could probably even understand it to some degree.
Leaving this question aside for a moment. Would you @mattcaswell  say I could just apply this change myself to a forked version of openssl and basically not care so much about the public development? I am only interested in this for prototyping not production.

Me myself I have no experience in contributing too such a big project that openssl ist :) Even though the code changes seem small enough I could probably even understand it to some degree.
Leaving this question aside for a moment. Would you @mattcaswell say I could just apply this change myself to a forked version of openssl and basically not care so much about the public development? I am only interested in this for prototyping not production.

I would not recommend using a PR that has not been merged in any security critical or production environment. If this is only for prototyping in a non-production non-security critical environment and will eventually just be thrown away - then sure.


[gws] group sort on dropdown

Coverage increased (+0.06%) to 82.952% when pulling 9ce99608d86d5c09fb97537cbec046e503ae05cc on sunny4381:group-sort-on-dropdown into bf95a90c29e7f41098a752567018f59e399568c4 on shirasagi:master.


[Preview] Pyodide shimming of requests

Update: Binary responses have been fixed. Moving to fetch hasn't been done yet.
~This requests shim functions for basic GET and POST request, but it doesn't work for binary or streaming responses. The main reason for this is that XMLHttpRequest is used, instead of the more modern fetch API in Javascript. On top of that, it runs in synchronous mode, mainly because the requests module isn't an async library.~
As some kind of roadmap I would like to move to fetch, while keeping the requests API intact. Ideas on how to achieve calling the asynchronous fetch in Javascript from the synchronous shimmed methods in Python requests are very welcome!
~By moving to fetch instead of XMLHttpRequest, we automatically would create the ability to receive binary / streaming responses (stream=True).~

Is this PR a more robust pyodide compatible version of requests than your pyodide-requests package?

Is this PR a more robust pyodide compatible version of requests than your pyodide-requests package?

Yes, good question! This is indeed the version I'll continue to work on. There's still quite some issues to tackle, but at least this is the maintained version.
To make it a bit clearer, I've archived the pyodide-requests repository.

How do you actually add this to Node or Web projects?
Do you publish it on pypi?

How do you actually add this to Node or Web projects?
Do you publish it on pypi?

You would use this in Node or web projects combined with the Pyodide library. Since some time the requests library is included in Pyodide, so this patch is no longer needed.


Data posted on AWS Open Data is inconsistent

There are new folders called profiles_cp and they were presumably previously names profiles. Its possible this was done when we were reprocessing the data.
@jccaicedo Any clue what might have happened here?
Only Bioactives-BBBC022-Gustafsdottir has both profiles_cp and profiles. The others have only profiles_cp.

There's also something strange about the aggregated profiles in profiles and profiles_cp  – they don't match up
Bioactives-BBBC022-Gustafsdottir$ pwd
/Users/shsingh/work/projects/2018_cytodata/datasets/Bioactives-BBBC022-Gustafsdottir
Bioactives-BBBC022-Gustafsdottir$ csvcut -c1-3 profiles/Bioactives-BBBC022-Gustafsdottir/20585/20585.csv|head
Image_Metadata_Plate,Image_Metadata_Well,Cells_AreaShape_Area
20585,A01,3878.0
20585,A02,3552.0
20585,A03,4059.0
20585,A04,3005.5
20585,A05,3549.0
20585,A06,3904.0
20585,A07,3928.0
20585,A08,4541.0
20585,A09,4039.0
Bioactives-BBBC022-Gustafsdottir$ csvcut -c1-3 profiles_cp/20585/20585.csv|head
Metadata_Plate,Metadata_Well,Cells_AreaShape_Area
20585,A01,2684.5
20585,A02,1959.5
20585,A03,2393
20585,A04,2076
20585,A05,2257
20585,A06,2167
20585,A07,2080
20585,A08,2751.5
20585,A09,1965

I compared these with data from s3://cellpainting-datasets/Bioactives-BBBC022-Gustafsdottir/workspace/backend/BBBC022_2013/
$ csvcut -c Metadata_Plate,Metadata_Well,Cells_AreaShape_Area 20585_augmented.csv|head
Metadata_Plate,Metadata_Well,Cells_AreaShape_Area
20585,A01,3878.0
20585,A02,3552.0
20585,A03,4059.0
20585,A04,3005.5
20585,A05,3549.0
20585,A06,3904.0
20585,A07,3928.0
20585,A08,4541.0
20585,A09,4039.0

which matches with the CSV in profiles

@cells2numbers You are our best bet for figuring this out :) Do you recollect renaming the profiles folder to profiles_cp? Any clues you might have will be super useful. Note that its not just the renaming but that one of the datasets Bioactives-BBBC022-Gustafsdottir has what I think are the "right" profiles in profiles but not in profiles_cp

I just bumped into this getting ready to copy select data to cellpainting-gallery.
Based on this thread I'm going to:

copy s3://cytodata/datasets/LUAD-BBBC043-Caicedo/profiles_cp/ to s3://cellpainting-gallery/cpg0031-caicedo-cmvip/broad/workspace/profiles/
copy s3://cytodata/datasets/Bioactives-BBBC022-Gustafsdottir/profiles/ to s3://cellpainting-gallery/cpg0030-gustafsdottir-cellpainting/broad/workspace/profiles/

unless you think I should do anything differently @shntnu ?


Management specific pipeline should only only management packages

If pipeline passes SDK type as filter then build and test pipeline should only build those types of packages. For e.g. Track2 management specific pipeline should not build and test client packages.

We need to update all CI.mgmt.yml and applicable CI.yml to pass filter type once this PR is approved and merged. This can be done incrementally to avoid build storm.

@praveenkuttappan why is this needed? Don't we already scope what we are building via the artifact list?

@praveenkuttappan why is this needed? Don't we already scope what we are building via the artifact list?

Nope. JS pipeline builds every package in the service directory even though triggers are mgmt/client specific. I had thought of relying on artifact list but that will cause to skip perf and util packages which is also part of rush.

@weshaggard Actually It might be better to fix artifact list to include util project as well and rely on the artifact list. Only downside is that we might skip to build and test a new package if it is not included in artifact list and get it merged to main.

If they don't add things to the artifacts list they will not be able to ship a package so you are correct that they might also not build it but eventually they will figure out they cannot release it either.
As for perf/utils do we need to explicitly list them? Are they not under the package folder?

Perf is not required be explicitly listed. But util packages can be listed since they are not under package folder. Util package itself is a standalone package.

@harsha-nalluru  This is the PR to separate data plane and management plane packages we build and test.


Determine functionality of Trait and Specification base classes

What
Define what functionality should live in the base classes for specifications and traits
Why
Spec/traits will be auto-generated from some simple definition (probably JSON schema), This removes much of the leg work in implementing them as it'll be based on some template. This doesn't mean we should loose sight of proper programming practice however. There may well be cases where they are defined on-the-fly at runtime.
ACs

Updated code generation templates to cover required functionality.
Updated code gen templates to best align with coding standards, etc. (eg, line length, formatting, etc..)

Were moving away from on-the-fly generation as it inherently precludes interoperability.


Change the way to delete an item in a certain shopping cart

As a system administrator
I need to have a nested shopcarts API
So that our microservice can be used intuitively as a RESTful service
Details and Assumptions

Use DELETE  /shopcarts/{id}/items/{id}
Per prof: 'To be RESTful you must use POST for create, GET for read, PUT for update, and DELETE for delete. So deleting an item is not an update. It is a deletion and should use the proper HTTP verb DELETE.'

Acceptance Criteria
Given valid customer_id
When we call DELETE on /shopcarts/{customer_id}/items/{item_id}
Then service returns code 204 DELETED
And service returns empty message

Per lecture 04 about RESTful services, DELETE needs to be idempotent so in particular, even if {item_id} did not exist, when we call DELETE on it there should be no errors and we should still get 204 DELETED. Further the lecture said delete must always return empty message. Updated above to reflect these.


Create a build button is generating 0.7.0 instead of 0.9.0

When I use the Create a build button on the main page, it creates a build with version 0.7.0 instead of 0.9.0

Closing as an outdated - the create a build button works perfectly fine currently.


merge feature/mds branch into main

Description
This pr merges feature branch feature/mds into main.
It includes the following reviewed PRs:

https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/pull/722
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/pull/728
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/pull/732
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/pull/734

Issues Resolved
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/issues/721
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.
[ ] Commits are signed per the DCO using --signoff

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

DCO check is failing and the tests too. Can we fix that before merging this one @jackiehanyang ?

Non blocking comment: Could we add UT in the case that MDS is enabled? Perhaps cut an issue to track this

Planning to cover MDS is enabled case in integ test. Every page renders the same even MDS is enabled, so I didn't add new test cases.

DCO is failing because this pr is triggered by using github UI. Every feature branch pr mentioned in this pr has been code reviewed and used --signoff signature.

DCO is failing because this pr is triggered by using github UI. Every feature branch pr mentioned in this pr has been code reviewed and used --signoff signature.

Confirmed  that some graphical user interfaces (GUIs) for Git might not directly support adding a sign-off.
Did manual signoff. Now DCO is passing


Submodule Compatibility

Institutions may want to customize BitcoinLib at the interface level. This functionality may help to ease the process for sideloading BitcoinLib into the pipeline.
Developers can simply use the submodule command from git's CLI and perform modifications from there and import the library to the other project solutions via Project References.
Signed-off-by: nixxholas<EMAIL_ADDRESS>

@nixxholas Do you have any links related to this functionality?

@moodmosaic http://www.vogella.com/tutorials/GitSubmodules/article.html

@nixxholas, thank you. That link doesn't say anything about this change 😕

@nixxholas, I'm closing this as it must target master now. I think we're really close if you address the comments above and fire a new PR against master branch 👍 🚀 💯


Create log files with correct file suffix

Description:
Log files should have the file suffix .log
Issue: #80

I will fix the tests and also sign the CLA. 🙈


Missing cancel button

If I setup card.io with the following parameters, I arrive at an interesting problem: the lack of an escape/cancel button (the first 2 parameters may be all that matter).
scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_CONFIRMATION, true);
scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, true);
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, false);
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, false);
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, false);
At this point I am forced to make a card scan happen or I must use the native android back button. I assume since iOS doesn't have a native back button then one must have been added to that code base. Would it be possible make a back button optional on android? (Target audience would be devices in kiosk mode that have had the hardware buttons disabled and soft keys hidden.)

It doesn't look like we will be able to prioritize this, as the kiosk case is not typical. However, given that this project is now open source, we will consider pull requests.


Compiling examples & miniapps broken with CUDA+PETSc

When building the MFEM library with CUDA+PETSc, the miniapps cannot be compiled.
(Note this also affects SLEPc as it depends on PETSc.)
If MFEM is configured without CUDA or without PETSc, the compilation is fine.
It seems the problem is the parsing of Xlinker flags (-Wl) by nvcc.
This is with CUDA version 10.2.89.
The command used to configure MFEM is:
make config MFEM_USE_MPI=YES MFEM_USE_METIS_5=yes MPICXX=/opt/mpich/bin/mpicxx METIS_DIR=<EMAIL_ADDRESS>MFEM_USE_CUDA=YES MFEM_USE_PETSC=YES PETSC_DIR=PETSC_DIR=/home/wcdawn/projects/petsc/arch-linux-c-debug/

Then, in the examples directory, executing make ex1p generates the command
nvcc  -O3 -std=c++11 -x=cu --expt-extended-lambda -arch=sm_60 -ccbin /opt/mpich/bin/mpicxx -I.. -I../../hypre/src/hypre/include -I../../metis/include -I/home/wcdawn/projects/petsc/include -I/home/wcdawn/projects/petsc/arch-linux-c-debug/include -I/opt/cuda/include -I/opt/mpich/include ex1p.cpp -o ex1p -L.. -lmfem -L../../hypre/src/hypre/lib -lHYPRE -L../../metis/lib -lmetis -Wl,-rpath,/home/wcdawn/projects/petsc/arch-linux-c-debug/lib -L/home/wcdawn/projects/petsc/arch-linux-c-debug/lib -lpetsc -Wl,-rpath,/opt/cuda/lib -L/opt/cuda/lib -llapack -lblas -lpthread -lX11 -lm -lcufft -lcublas -lcudart -lcusparse -lcusolver -lcuda -lquadmath -lstdc++ -ldl -lrt

Which fails with error
nvcc fatal   : Unknown option '-Wl,-rpath,/home/wcdawn/projects/petsc/arch-linux-c-debug/lib'

ex1p can be successfully compiled using --compiler-options and -Xlinker options as
nvcc  -O3 -std=c++11 -x=cu --expt-extended-lambda -arch=sm_60 -ccbin /opt/mpich/bin/mpicxx -I.. -I../../hypre/src/hypre/include -I../../metis/include -I/home/wcdawn/projects/petsc/include -I/home/wcdawn/projects/petsc/arch-linux-c-debug/include -I/opt/cuda/include -I/opt/mpich/include ex1p.cpp -o ex1p -L.. -lmfem -L../../hypre/src/hypre/lib -lHYPRE -L../../metis/lib -lmetis --compiler-options -Xlinker --compiler-options -rpath --compiler-options -Xlinker --compiler-options /home/wcdawn/projects/petsc/arch-linux-c-debug/lib -L/home/wcdawn/projects/petsc/arch-linux-c-debug/lib -lpetsc --compiler-options -Xlinker --compiler-options -rpath --compiler-options -Xlinker --compiler-options /opt/cuda/lib -L/opt/cuda/lib -llapack -lblas -lpthread -lX11 -lm -lcufft -lcublas -lcudart -lcusparse -lcusolver -lcuda -lquadmath -lstdc++ -ldl -lrt

It's pretty terse but can be simplified in the Makefile similar to the solution here.
Editing the compiler command is simple for the examples but makes compiling the miniapps (e.g. navier) nearly impossible.

Or strip out the rpath options? Anyway, why MFEM needs nvcc for linking executables?

Another solution inside MFEM makefiles? (not sure what are the actual names of the variables)
NVCCFLAGS := $(addprefix -Xcompiler ,$(CXXFLAGS))
NVCCFLAGS += $(addprefix -Xlinker ,$(LDFLAGS))

We have not looked in details at the CUDA+PETSc build behavior mainly because we do not support any CUDA capabilities from PETSc.
Unless you build PETSc as a static library, you can probably just link with -lpetsc, ignoring any flags read from the petscvariables file. For example, try replacing the definition of PETSC_LIB in your config/user.mk file (which can be created by just copying the file config/defaults.mk):
PETSC_LIB = $(XLINKER)-rpath,$(abspath $(PETSC_DIR))/lib\
 -L$(abspath $(PETSC_DIR))/lib -lpetsc

This should work both with and without CUDA since XLINKER is properly set in either case.

@wcdaw, is any of the above workarounds work for you?

Thanks for following up!
None of these options work directly, but combining them together I figured it out.
I agree with @stefanozampini that nvcc isn't really necessary for linking, but this would be a bigger change.
Simply using the $(XLINKER) variable will not work. The -Wl and -Xlinker options use different syntaxes and are not interchangeable. -Wl uses comma delimiters whereas -Xlinker must proceed each command or argument and is space separated. This variable should probably be removed because it cannot be used as a drop-in replacement.
What did work was removing the Xlinker and rpath options entirely. If these are necessary for some other use case, then another workaround may be needed. I created a config/user.mk as recommended by @v-dobrev and replaced the line to read
PETSC_LIB := -L$(abspath $(PETSC_DIR))/lib -lpetsc $(PETSC_LIB)

A similar change should be made for SLEPc.
SLEPC_LIB := -L$(abspath $(SLEPC_DIR))/$(PETSC_ARCH)/lib -lslepc $(SLEPC_LIB)

The examples then compile and link as intended. If the Xlinker arguments are truly unnecessary, it would be nice if this were changed in config/defaults.mk as well.

Once again, I'd recommend you try the solution I suggested -- we use the $(XLINKER) approach with other libraries and it works fine. See, e.g. https://github.com/mfem/mfem/blob/5457d033d457db5b3543fa47e97b69566baad21e/config/defaults.mk#L355
and https://github.com/mfem/mfem/blob/5457d033d457db5b3543fa47e97b69566baad21e/config/defaults.mk#L360
If you don't include the rpath in the link line, linking will go through fine but you'll have issues at runtime. The shared library loader will not be able to find libpetsc.so unless you add the path to it to your LD_LIBRARY_PATH, or you install PETSc in a system directory.
Regarding updating the defaults.mk file -- yes, we can definitely update it to support more external libraries when building with cuda.

It seems that the $(XLINKER) variable is not set in defaults.mk. Using $(CUDA_XLINKER) works properly. Alternatively, a block should be included to set $(XLINKER).
ifeq ($(MFEM_USE_CUDA),YES)
XLINKER = $(CUDA_XLINKER)
else
XLINKER = $(CXX_XLINKER)
endif

Thanks!

Just to clarify why using $(XLINKER) works  correctly in user.mk:
In makefiles, the assignment VAR = $(XLINKER)... defines VAR as a recursively expanded variable (see https://www.gnu.org/software/make/manual/make.html#Flavors), so the variable XLINKER can be defined later. In the MFEM GNU make build system, XLINKER is defined in the following sections: https://github.com/mfem/mfem/blob/bba973db7339a99a1a920f27a27cbd4341f907a9/makefile#L218-L235
and, in particular, after config/user.mk is included here: https://github.com/mfem/mfem/blob/bba973db7339a99a1a920f27a27cbd4341f907a9/makefile#L156
In particular, this mean that $(XLINKER) should not be used in user.mk in variables defined with VAR := ... (simply expanded variables) which are expanded immediately, and since XLINKER is not defined, $(XLINKER) will be expanded as the empty string.


sarasa-gothic: 1.0.6 -> 1.0.7

Description of changes
https://github.com/be5invis/Sarasa-Gothic/releases/tag/v1.0.7
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 296696 run on aarch64-darwin 1

1 package built:

sarasa-gothic


When Solution will be GA or when Auto generated Kusto query will be fixed.

I faced with an issue, that some of features demonstrated in this document simply doesn't work as expected.
For example- if we will press on "see all for ACTIONS AND TRIGGERS BY ERROR CODE" - we will be redirected to log search, where generated code will broken if there are data for this query.

Table for "LOGIC APP RUNS BY STATUS" also could show empty table, while chart is ok if I don't press f5 in browser.

Also, Schema explorer don't show all field for logic apps.

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

ID: 94d337ae-4a55-2e0b-7002-afef3c78ba57
Version Independent ID: a56115e8-5f2e-9d66-2d20-13ce02406208
Content: Monitor logic apps with Azure Monitor - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-monitor-your-logic-apps-oms.md
Service: logic-apps
GitHub Login: @divyaswarnkar
Microsoft Alias: divswa

@SychevIgor Thank you for your feedback! We will review and update as appropriate.


Fix Required Permissions for S3FS Docker Plug-In

This patch fixes the required plug-in permissions for the S3FS Docker Plug-in

Codecov Report

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

@@          Coverage Diff          @@
##           master   #893   +/-   ##
=====================================
  Coverage     8.8%   8.8%
=====================================
  Files          25     25
  Lines        2977   2977
=====================================
  Hits          262    262
  Misses       2679   2679
  Partials       36     36

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 02c2b2f...bf4fda2. Read the comment docs.

Thanks, updated to add mounts section.


Try to parse events without issue_event_type_name

This pull request fixes handling of the comment_updated and comment_deleted events and attempts to parse jira:issue_updated events when the webhook payload is missing the issue_event_type_name field.
Relates to #272.

Hi @elyscape, thanks for this! This addition is important to keep webhooks working for everyone.
Do you mind writing a test for this scenario? You can use the test data in server/testdata for reference to create your test data. I suggest making one for issue field update, comment created, and comment updated. Let me know if you have any questions.
Also, I think we can leave the duplicated comments out of this PR. Thank you!!

Still waiting for @mickmister to approve, also @elyscape FYI in the future, we usually prefer to sync-and-merge master, not rebase/force-push since the PRs get squashed before merging anyway.


How to get group data in my controller

Is that possible, and also how can I use functions like $hideRows in my controller or $groups. How can I access them?

This repo is dead

@TeodorKolev, your follow up comment does not really encourage others to help you... just saying

It turns out that I didn't encourage them with my question either.

Maybe, but like I say, everyone has day jobs and likely family to have to spread their time around. I don't think saying what you have helps to cultivate good collaboration to move a project forward.
That said, I understand it can be frustrating to not get help on something you might be banging your head against for a while.
BTW, not sure whether using the grouping feature of ngTable will lead to a good solution. See my comment on this issue: https://github.com/esvit/ng-table/issues/615/#issuecomment-119380187

I understand that from your first comment (which is same with this one, but with different words).