[Upstream] Nexus Operator Release 0.5.0

Signed-off-by: Lucas Caparelli<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?

Updates to existing Operators

[x] Did you create a ci.yaml file according to the update instructions?
[x] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@ricardozanini since you are previous contributor,can you have a look changes if ok with you?

@ricardozanini since you are previous contributor,can you have a look changes if ok with you?

@LCaparelli yes it seems to me like our operator didn't start

@LCaparelli yes it seems to me like our operator didn't start

@mvalarh LGTM

@mvalarh LGTM

@mvalarh for what I could see in the logs, the operator hasn't started?
TASK [deploy_olm_operator_upstream_bundle : Wait for the operator nexus-operator-controller-manager pod to start up] ***
fatal: [localhost]: FAILED! => changed=true
  attempts: 90
  cmd: kubectl get pods -n test-operators| grep nexus-operator-controller-manager | grep Running
  delta: '0:00:00.132846'
  end: '2021-01-08 10:39:48.047262'
  msg: non-zero return code
  rc: 1
  start: '2021-01-08 10:39:47.914416'
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
...ignoring

Is there any way we can have a more detailed log about what happened so we can work this through?

@mvalarh for what I could see in the logs, the operator hasn't started?
TASK [deploy_olm_operator_upstream_bundle : Wait for the operator nexus-operator-controller-manager pod to start up] ***
fatal: [localhost]: FAILED! => changed=true
  attempts: 90
  cmd: kubectl get pods -n test-operators| grep nexus-operator-controller-manager | grep Running
  delta: '0:00:00.132846'
  end: '2021-01-08 10:39:48.047262'
  msg: non-zero return code
  rc: 1
  start: '2021-01-08 10:39:47.914416'
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
...ignoring

Is there any way we can have a more detailed log about what happened so we can work this through?

Hi @ricardozanini! Please check this:
      Message:                 one or more requirements couldn't be found
      Phase:                   Pending
      Reason:                  RequirementsNotMet
      Requirement Status:
        Group:    apiextensions.k8s.io
        Kind:     CustomResourceDefinition
        Message:  CRD is not present
        Name:     nexus.apps.m88i.io
        Status:   NotPresent
        Version:  v1

More details https://github.com/operator-framework/community-operators/pull/2933/checks?check_run_id=1686819913#step:3:1238

Hi @ricardozanini! Please check this:
      Message:                 one or more requirements couldn't be found
      Phase:                   Pending
      Reason:                  RequirementsNotMet
      Requirement Status:
        Group:    apiextensions.k8s.io
        Kind:     CustomResourceDefinition
        Message:  CRD is not present
        Name:     nexus.apps.m88i.io
        Status:   NotPresent
        Version:  v1

More details https://github.com/operator-framework/community-operators/pull/2933/checks?check_run_id=1686819913#step:3:1238

you can also debug locally using https://github.com/operator-framework/operator-test-playbooks/tree/master/docs/upstream/users

you can also debug locally using https://github.com/operator-framework/operator-test-playbooks/tree/master/docs/upstream/users

@LCaparelli can you take a look at the  @J0zi  comment?

@LCaparelli can you take a look at the  @J0zi  comment?

Thanks a lot for the pointers @J0zi! :-D
I tested locally and there are two main points which I believe are relevant here:

locally, the CRD gets successfully installed (unlike in the CI here):
Requirement Status:
Group:    apiextensions.k8s.io
Kind:     CustomResourceDefinition
Message:  CRD is present and Established condition is true
Name:     nexus.apps.m88i.io
Status:   Present
Uuid:     eaa7be83-398a-49d4-932a-2a92460a1f30
Version:  v1

Though the RBAC rules are still not satisfied (same as the CI). E.g.:
Dependents:
Group:    rbac.authorization.k8s.io
Kind:     PolicyRule
Message:  namespaced rule:{"verbs":["get","list","watch","create","update","patch","delete"],"apiGroups":[""],"resources":["configmaps"]}
Status:   NotSatisfied
Version:  v1

Upon running the same tests for the 0.4.0 release I see that the following Cluster Roles are created:
nexus-operator-metrics-reader                                          2021-01-12T23:04:45Z
nexus-operator.v0.4.0-57bb96d5c4                                       2021-01-12T23:04:45Z
nexus-operator.v0.4.0-default-7f99fb55d5                               2021-01-12T23:04:45Z

But these(or similarly named) never get created when running the tests for 0.5.0 (i.e., the files in this PR). But shouldn't OLM create these roles automatically based on the policies defined in the CSV?

So, I'm not sure why the CRD isn't being installed on the CI, it gets installed locally. Also not sure why the roles aren't being created automatically. Any ideas?
Not to mention #2935 had the exact same files as this one and nothing wrong happened there... Am I wrong to assume this should work the same way in here as well?
Also, the diff between the files in 0.4.0 doesn't seem to contain any changes which could relate to RBAC:
❯ cd upstream-community-operators/nexus-operator-m88i
❯ diff 0.4.0/apps.m88i.io_nexus_crd.yaml 0.5.0/apps.m88i.io_nexus.yaml
❯ diff 0.4.0/nexus-operator-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml 0.5.0/nexus-operator-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml
❯ diff 0.4.0/nexus-operator.v0.4.0.clusterserviceversion.yaml 0.5.0/nexus-operator.clusterserviceversion.yaml
38c38
<     containerImage: quay.io/m88i/nexus-operator:0.4.0
---
>     containerImage: quay.io/m88i/nexus-operator:0.5.0
41c41
<     operators.operatorframework.io/builder: operator-sdk-v1.0.1
---
>     operators.operatorframework.io/builder: operator-sdk-v1.2.0
46c46
<   name: nexus-operator.v0.4.0
---
>   name: nexus-operator.v0.5.0
218,228d217
<                 - --metrics-addr=<IP_ADDRESS>:8080
<                 - --enable-leader-election
<                 command:
<                 - /manager
<                 image: quay.io/m88i/nexus-operator:0.4.0
<                 name: manager
<                 resources:
<                   requests:
<                     cpu: 100m
<                     memory: 20Mi
<               - args:
238a228,238
>               - args:
>                 - --metrics-addr=<IP_ADDRESS>:8080
>                 - --enable-leader-election
>                 command:
>                 - /manager
>                 image: quay.io/m88i/nexus-operator:0.5.0
>                 name: manager
>                 resources:
>                   requests:
>                     cpu: 100m
>                     memory: 20Mi
304,305c304,305
<   replaces: nexus-operator.v0.3.0
<   version: 0.4.0
---
>   replaces: nexus-operator.v0.4.0
>   version: 0.5.0

Thank you for your help!

Thanks a lot for the pointers @J0zi! :-D
I tested locally and there are two main points which I believe are relevant here:

locally, the CRD gets successfully installed (unlike in the CI here):
Requirement Status:
Group:    apiextensions.k8s.io
Kind:     CustomResourceDefinition
Message:  CRD is present and Established condition is true
Name:     nexus.apps.m88i.io
Status:   Present
Uuid:     eaa7be83-398a-49d4-932a-2a92460a1f30
Version:  v1

Though the RBAC rules are still not satisfied (same as the CI). E.g.:
Dependents:
Group:    rbac.authorization.k8s.io
Kind:     PolicyRule
Message:  namespaced rule:{"verbs":["get","list","watch","create","update","patch","delete"],"apiGroups":[""],"resources":["configmaps"]}
Status:   NotSatisfied
Version:  v1

Upon running the same tests for the 0.4.0 release I see that the following Cluster Roles are created:
nexus-operator-metrics-reader                                          2021-01-12T23:04:45Z
nexus-operator.v0.4.0-57bb96d5c4                                       2021-01-12T23:04:45Z
nexus-operator.v0.4.0-default-7f99fb55d5                               2021-01-12T23:04:45Z

But these(or similarly named) never get created when running the tests for 0.5.0 (i.e., the files in this PR). But shouldn't OLM create these roles automatically based on the policies defined in the CSV?

So, I'm not sure why the CRD isn't being installed on the CI, it gets installed locally. Also not sure why the roles aren't being created automatically. Any ideas?
Not to mention #2935 had the exact same files as this one and nothing wrong happened there... Am I wrong to assume this should work the same way in here as well?
Also, the diff between the files in 0.4.0 doesn't seem to contain any changes which could relate to RBAC:
❯ cd upstream-community-operators/nexus-operator-m88i
❯ diff 0.4.0/apps.m88i.io_nexus_crd.yaml 0.5.0/apps.m88i.io_nexus.yaml
❯ diff 0.4.0/nexus-operator-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml 0.5.0/nexus-operator-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml
❯ diff 0.4.0/nexus-operator.v0.4.0.clusterserviceversion.yaml 0.5.0/nexus-operator.clusterserviceversion.yaml
38c38
<     containerImage: quay.io/m88i/nexus-operator:0.4.0
---
>     containerImage: quay.io/m88i/nexus-operator:0.5.0
41c41
<     operators.operatorframework.io/builder: operator-sdk-v1.0.1
---
>     operators.operatorframework.io/builder: operator-sdk-v1.2.0
46c46
<   name: nexus-operator.v0.4.0
---
>   name: nexus-operator.v0.5.0
218,228d217
<                 - --metrics-addr=<IP_ADDRESS>:8080
<                 - --enable-leader-election
<                 command:
<                 - /manager
<                 image: quay.io/m88i/nexus-operator:0.4.0
<                 name: manager
<                 resources:
<                   requests:
<                     cpu: 100m
<                     memory: 20Mi
<               - args:
238a228,238
>               - args:
>                 - --metrics-addr=<IP_ADDRESS>:8080
>                 - --enable-leader-election
>                 command:
>                 - /manager
>                 image: quay.io/m88i/nexus-operator:0.5.0
>                 name: manager
>                 resources:
>                   requests:
>                     cpu: 100m
>                     memory: 20Mi
304,305c304,305
<   replaces: nexus-operator.v0.3.0
<   version: 0.4.0
---
>   replaces: nexus-operator.v0.4.0
>   version: 0.5.0

Thank you for your help!

/ok-to-test

/ok-to-test

@LCaparelli, let's sum up. It works on Openshift but fails on k8s. Both k8s CI and k8s locally. Maybe you can try to rename as .crd.yaml. Imho, debugging locally seems like the best option.

@LCaparelli, let's sum up. It works on Openshift but fails on k8s. Both k8s CI and k8s locally. Maybe you can try to rename as .crd.yaml. Imho, debugging locally seems like the best option.

I believe I managed to narrow down the issue a bit further. I raised  operator-framework/operator-lifecycle-manager#1957 to determine whether this is expected behavior.

I believe I managed to narrow down the issue a bit further. I raised  operator-framework/operator-lifecycle-manager#1957 to determine whether this is expected behavior.

@J0zi as pointed out on the OLM issue, the problem was the prometheus resources. I have removed them and looks like we're ready to go :-)


Store secrets in android keystore

Leverage the android keystore APIs to store secrets instead of private shared preferences.
This change should include migration support for current users.

This is the technique to solve #6

@npmccallum FYI I started working on this feature See this branch for details
TODO:

replace the inline hmac usage in Token.java with calls to the KeyStore wrapper
create migration code to move secrets in SharedPrefs to the KeyStore
Add KeyGuardManager checks to calling activities.
Figure out what ProtectionParameter to use with KeyEntries in the store

It is also somewhat difficult to test as the android KeyStore cannot be mocked. I'm currently testing using a Java Symmetric KeyStore as the interface is the same, however we may want to look at moving to Android Studio 3 as it provides runtime tests to facilitate this.


Update report generator to use reportlab

Fixes #420
🗣 Description
Our current report generator uses an html template and then converts the html into a pdf report. The library that does the transformation does not have enough features to implement the fonts and dynamic spacing our reports require. This means we will have to redesign the report generation process using a new library.
Motivation
This is change is required to have our reports meet the CISA style guide and also make our reports more robust as we have had issues where complete charts have vanished due to sizing issues.
🧪 Testing
Reports are correctly generated without any missing visuals

Fonts are correctly displayed
✅ Pre-approval checklist

[X] This PR has an informative and human-readable title.
[X] Changes are limited to a single goal - eschew scope creep!
[X] All future TODOs are captured in issues, which are referenced in code comments.
[X] All relevant type-of-change labels have been added.
[X] I have read the CONTRIBUTING document.
[X] These code changes follow cisagov code standards.
[X] All relevant repo and/or project documentation has been updated to reflect the changes in this PR.

Coverage: 37.269% (+11.0%) from 26.288% when pulling c2ad197c989e77cfe3c4ac703a9586981c518caf on DJ_Reportlab_generator_PR into 79ce2c18ba4c6abfad8ff4ec6b9e7efa784f1af6 on develop.

@jsf9k after merging Develop into this branch to get them in sync, the ansible lint check started failing, I don't think that is an issue on our end. Any ideas on that issue?

@jsf9k after merging Develop into this branch to get them in sync, the ansible lint check started failing, I don't think that is an issue on our end. Any ideas on that issue?

This failure is due to some upstream changes.  The next set of Lineage changes that trickle down should fix the problem.

@DJensen94 While you are waiting for the remaining reviews, you can merge the latest changes from develop into this branch to ensure there are no issues there.

@DJensen94 - For future reference, I suggest you use the batch functionality to accept and commit multiple similar/related suggestions (e.g. https://github.com/cisagov/pe-reports/pull/565/commits/4a4b7562bdaa84300e6c60c123e0ecfd57af00e0, https://github.com/cisagov/pe-reports/pull/565/commits/40f073f6e8457e91f608215b2dde417cc1343061, https://github.com/cisagov/pe-reports/pull/565/commits/e2502bb64051237916f7a878dc2481abf552e37f, etc.)
This would reduce the number of commits you need to make in cases like this.


Remove workaround for broken upload API

https://github.com/ghga-de/datameta/pull/193 needs to be merged first + datameta-client-lib 0.2.0 release

@lkuchenb, sorry, just saw this PR. Would it be possible, if we get my PR #4 through first? I think it would be easier to integrate these changes into the larger PR than the other way round.


Consider remove double jump to access node?

Now, all Node references are basically an index into NodeStore's internal buffer. Also to avoid heavy memcpy overhead, each node also boxed.
Now, in order to access an node reference, it needs to first do vec::get first, then do Box::get_ref.
Advantages:
This really simplifies several cases:

Lifetime is easier to handle. All references literally has no lifetime.
NodeStore is a control center, which makes trouble shooting bit eaiser.
This enables floating cursor, as long as NodeStore don't mess things up (e.g: returns dangling node), it is safe.
Tree clone is really easy. All reference is index, so as long as Vector's clone is correct, everything is fine. Otherwise, clone need to traverse the tree.

Disadvantages:

I think the only disadvantage is access performance.

Now I prefer to keep the index based ref. For B+Tree, the fan out rate is relative large, which means the tree level is quite small. Current default value is 64, which means we can store about 16777216 for 4 layers. And the vec base pointer most likely stays in cache.


Add checkbox when adding new profile info

If the box is not checked, you can't add the info

https://github.com/itsyouonline/identityserver/commit/2b2d5b5ba52e89918d2a84bb194b56c2ebf1d71f


Add Cetis highschool

The official website: cetis46.com

@Franco030 I have to close this request without merging, because you requested to add a non-existent domain to this repository: ;; connection timed out; no servers could be reached Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!

@Franco030 I have to close this request without merging, because you requested to add a non-existent domain to this repository: ;; connection timed out; no servers could be reached Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!


simple request/reply hangs time to time

Simple request/reply demo. the request side hangs time to time.
demo proejct: https://github.com/eisig/nats-demo1.git
Deploy env:
aws amazon linux2: c5d.large。(1 or 3 instances)
steps

mvn package the project
start nats server: ./gnatsd-v1.4.1-linux-amd64/gnatsd &
start the reply app: java -cp nats-demo-1.0-SNAPSHOT.jar  io.eg.nats.demo.NatsReply &
run java -Djava.security.egd=file:/dev/./urandom -cp nats-demo-1.0-SNAPSHOT.jar  io.eg.nats.demo.NatsReq

Most of the time the client can not finish 1000 requests. It will hangs.

I re-ran the autobench example to make sure I am able to run R/R. I got pretty good numbers:

Hm, github gui got me. As I was saying, I got pretty good numbers from the autobench:
ReqReply 0b              20,000              8,367 msg/s       0.00 b/s
ReqReply 8b              20,000              8,738 msg/s     68.27 kb/s
ReqReply 32b             10,000              8,570 msg/s    267.84 kb/s
ReqReply 256b            10,000              8,718 msg/s      2.13 mb/s
ReqReply 512b            10,000              8,725 msg/s      4.26 mb/s
ReqReply 1k              10,000              8,684 msg/s      8.48 mb/s
ReqReply 4k              10,000              8,309 msg/s     32.46 mb/s
ReqReply 8k              10,000              7,879 msg/s     61.56 mb/s
which runs over 10k request reply, so I am hoping the issue isn't in the library.
Some thing to try...

Can you run the server with -DV and look for any errors
Can you add an error and connection listener to your example, just print out messages.

I have a theory that there could be a slow consumer problem, the DV or connection listener will tell us for sure. The error listener should find any exceptions. If those don't work we will dig a bit deeper.

I add one line  before executing  the test(beforeio.nats.examples.autobench.NatsAutoBench line 92) to show where hangs.

System.out.println("start at: " + (System.currentTimeMillis() / 1000) + ": " + test.getName());
test.execute(connectOptions);

start the test
java -Djava.security.egd=file:/dev/./urandom -cp jnats-2.4.1-SNAPSHOT-examples.jar:jnats-2.4.1-SNAPSHOT.jar   io.nats.examples.autobench.NatsAutoBench small

the logs

Connecting to gnatsd at nats://localhost:4222
Running warmup
Current memory usage is 127.34 mb / 235.50 mb / 836.00 mb free/total/max
Executing tests start at:<PHONE_NUMBER>: PubOnly 0b
.start at:<PHONE_NUMBER>: PubOnly 8b
.start at:<PHONE_NUMBER>: PubOnly 32b
.start at:<PHONE_NUMBER>: PubOnly 256b
.start at:<PHONE_NUMBER>: PubOnly 512b
.start at:<PHONE_NUMBER>: PubOnly 1k
.start at:<PHONE_NUMBER>: PubOnly 4k
.start at:<PHONE_NUMBER>: PubOnly 8k
.start at:<PHONE_NUMBER>: PubSub 0b
.start at:<PHONE_NUMBER>: PubSub 8b
.start at:<PHONE_NUMBER>: PubSub 32b
.start at:<PHONE_NUMBER>: PubSub 256b
.start at:<PHONE_NUMBER>: PubSub 512b
.start at:<PHONE_NUMBER>: PubSub 1k
.start at:<PHONE_NUMBER>: PubSub 4k
.start at:<PHONE_NUMBER>: PubSub 8k
.start at:<PHONE_NUMBER>: PubDispatch 0b
.start at:<PHONE_NUMBER>: PubDispatch 8b
.start at:<PHONE_NUMBER>: PubDispatch 32b
.start at:<PHONE_NUMBER>: PubDispatch 256b
.start at:<PHONE_NUMBER>: PubDispatch 512b
.start at:<PHONE_NUMBER>: PubDispatch 1k
.start at:<PHONE_NUMBER>: PubDispatch 4k
.start at:<PHONE_NUMBER>: PubDispatch 8k
.start at:<PHONE_NUMBER>: ReqReply 0b
.start at:<PHONE_NUMBER>: ReqReply 8b
.start at:<PHONE_NUMBER>: ReqReply 32b
.start at:<PHONE_NUMBER>: ReqReply 256b
.start at:<PHONE_NUMBER>: ReqReply 512b

The ReqReply tests take very long time to finish.
the finnal result:

ReqReply 0b               1,000              1,262 msg/s       0.00 b/s
ReqReply 8b               1,000                  2 msg/s      22.22 b/s
ReqReply 32b                500                  1 msg/s      53.27 b/s
ReqReply 256b               500              1,200 msg/s    300.09 kb/s
ReqReply 512b               500                  1 msg/s     710.61 b/s
ReqReply 1k                 500              1,237 msg/s      1.21 mb/s
ReqReply 4k                 500              1,316 msg/s      5.14 mb/s
ReqReply 8k                 500              1,183 msg/s      9.25 mb/s

The problem does not appear in my mac os machine.
when hangs almost every time when run in amazon ec2(c5d.large, os: amazon linux2) ;
when change install type to c5d.xlarge, it only hangs sometimes.

The nats server log(with -D)
....
[26259] 2019/03/05 06:04:41.582570 [DBG] <IP_ADDRESS>:54356 - cid:164 - Client connection created
[26259] 2019/03/05 06:06:41.579583 [DBG] <IP_ADDRESS>:54354 - cid:163 - Client Ping Timer
[26259] 2019/03/05 06:06:41.579623 [DBG] <IP_ADDRESS>:54354 - cid:163 - Delaying PING due to activity 2m0s ago
[26259] 2019/03/05 06:06:41.582820 [DBG] <IP_ADDRESS>:54356 - cid:164 - Client Ping Timer
[26259] 2019/03/05 06:06:41.582849 [DBG] <IP_ADDRESS>:54356 - cid:164 - Delaying PING due to activity 2m0s ago
[26259] 2019/03/05 06:08:41.579903 [DBG] <IP_ADDRESS>:54354 - cid:163 - Client Ping Timer
[26259] 2019/03/05 06:08:41.583092 [DBG] <IP_ADDRESS>:54356 - cid:164 - Client Ping Timer
[26259] 2019/03/05 06:10:41.580271 [DBG] <IP_ADDRESS>:54354 - cid:163 - Client Ping Timer
[26259] 2019/03/05 06:10:41.580322 [DBG] <IP_ADDRESS>:54354 - cid:163 - Delaying PING due to activity 1m0s ago
[26259] 2019/03/05 06:10:41.583307 [DBG] <IP_ADDRESS>:54356 - cid:164 - Client Ping Timer
[26259] 2019/03/05 06:10:41.583323 [DBG] <IP_ADDRESS>:54356 - cid:164 - Delaying PING due to activity 1m0s ago
[26259] 2019/03/05 06:10:41.839670 [DBG] <IP_ADDRESS>:54356 - cid:164 - Client connection closed
[26259] 2019/03/05 06:10:41.879822 [DBG] <IP_ADDRESS>:54354 - cid:163 - Client connection closed

Those performance numbers are pretty horrible. I wonder if it is something about hte networking on that machine. What happens if you run your program locally?
As another test what happens if you put a sleep in the request program, maybe just send 100/sec or something like that.

It work fine on my local env.
I have try to recreate  several new ec2 using  the official image, without install anything except the openjdk. It situation remain the same.
If I put a sleep(10ms) in the reply or request program, It work fine.
If I change the os image to ubuntu, It work fine.

Hm, I am not sure what we can do with the library. It seems like a networking/OS - maybe JDK - issue. Thoughts on resolving? My first thought is just to close the issue, but I want to make sure we capture the problem for others.

I would close this issue now. If I have time to figure out what is wrong,I will leave a comment here.

Sounds good, thanks for digging in, i am sorry we didn't discover the root issue.


fix[cartesian]: Protect K write against dynamic access

Description
We allowed offset-writes in K in a previous PR e.g.
out_field[0, 0, 1] = value

but we let open the possibility for the offset to be a dynamic value which would escape any extent analysis. E.g.
index = value ** 29382938
out_field[0, 0, index] = other_value

The time might come where a legit case shows up and we could imagine introducing a mitigating strategy. Until that fateful day, we restrict access to literals.
Requirements

[x] All fixes and/or new features come with corresponding tests.
[ ] Important design decisions have been documented in the approriate ADR inside the docs/development/ADRs/ folder.

If this PR contains code authored by new contributors please make sure:

[ ] The PR contains an updated version of the AUTHORS.md file adding the names of all the new contributors.

Won't do as we actually have the case listed above.
We logged a mitigation task which seems to us the best way to meet feature need and performance https://github.com/GridTools/gt4py/issues/1684


Implement test vectors for the AMM compositions

During sprint planning: @erwanor optimistic about inclusion in 44. Keeping in 44.

This won't make it to 44, we're rethinking how we plan to do routing + execution, in a way that would possibly make AMM composition not needed.

This was dropped as part of route-and-execute.


Dependency convergence issue

Hi
Using maven and Dropwizard 0.7.1 I get a massive dependency convergence issue which I think boils down to that Dropwizard uses jackson 2.3.3 and dropwizard-xml according to the maven 0.7.1-2 uses a 2.4.3 dependency:

com.fasterxml.jackson.jaxrs
jackson-jaxrs-xml-provider
2.4.3
runtime

I've modified the Jackson version to be 2.3.3, and downgraded woodstox and stax2 to be 4.4.1 and 3.1.4 respectively. Let me know if you come across any more issues.


Non Base models crash with GPU

if i try to run the GPU Version with any models other than base the docker container crashes after several minutes with exit code 3
im running this on a DELL R620 with Nvidia Quadro P1000
however if i run the base model, everything works fine
ive tried this with both the openai_whisper and faster_whisper as the engine

Your card only has 4 GB of RAM so you should be able to run the small model. Can you send some logs?

Your card has 4 GB of RAM so you should be able to run the small model as well. Can you send some logs?

I'm not too familiar with docker, I'm use to running stuff on bare metal VMs, where would I find the logs for the docker?

Your card has 4 GB of RAM so you should be able to run the small model as well. Can you send some logs?

I'm not too familiar with docker, I'm use to running stuff on bare metal VMs, where would I find the logs for the docker?

Run docker logs <container name>

Your card has 4 GB of RAM so you should be able to run the small model as well. Can you send some logs?

I'm not too familiar with docker, I'm use to running stuff on bare metal VMs, where would I find the logs for the docker?

Run docker logs <container name>

oh i deleted the container when it kept crashing, when the current batch of subs have finnished proccessing i shall create a new one and give it a shot
also just a quick question, if i added another GPU to the server would it utilise the ram of both cards allowing me to use larget models or would i still only be able to use the small model?

Your card has 4 GB of RAM so you should be able to run the small model as well. Can you send some logs?

I'm not too familiar with docker, I'm use to running stuff on bare metal VMs, where would I find the logs for the docker?

Run docker logs <container name>

oh i deleted the container when it kept crashing, when the current batch of subs have finnished proccessing i shall create a new one and give it a shot
also just a quick question, if i added another GPU to the server would it utilise the ram of both cards allowing me to use larger models or would i still only be able to use the small model?

No that isn’t possible sorry.


@chainsafe/blst module not found when importing @lodestar/light-client

Describe the bug
I'm working through updating Ultralight to use the latest versions of various chainsafe/lodestar libraries and encountered an issue where @chainsafe/blst isn't found.  It appears to be an indirect import of @lodestar/light-client via @chainsafe/bls which Ultralight also does not currently use other than as a transitive dependency.
As noted here @chainsafe/blst is an optional/peer dep for @chainsafe/bls but not for @lodestar/light-client.
Expected behavior
Ideally, @lodestar/light-client should import the correct optional dependencies for @chainsafe/bls so downstream consumers don't need to specify this in package.json
Steps to reproduce
No response
Additional context
Here is an example from our CI where this issue occurs.
Operating system
Linux
Lodestar version or commit hash
"@lodestar/light-client": "^1.17.0"

Note, for now, we've just added @chainsafe/blst as a direct dependency for ultralight so we can proceed but will update if/when this gets resolved on the lodestar side.

but i think lightclient will require bls to verify sync committee signature as most probably signed updates signatures

Lightclient uses bls, which itself optionally relies on blst. The issue here is related to blst.

@chainsafe/bls is designed isomorphicly and to work with either @chainsafe/blst or bls-eth-wasm depending on if its running client or server side.  Looks like the blst side is setup as a peer dependency correctly but bls-eth-wasm is a required dep.  Feels like those should be symmetrical if we can make that happen.  And because light-client is meant to be an isomorphic library too, im thinking that it should probably match that same pattern.  We could add a note to the docs to make it clear that the consumer of light-client (or bls depending on use case) can choose which one to include. One or the other is required but both do not need to get imported (for performance reasons on the server and for bundle size reasons on the client side).

Note, for now, we've just added @chainsafe/blst as a direct dependency for ultralight so we can proceed but will update if/when this gets resolved on the lodestar side.

@acolytec3 that will definitely get you going for now and is possibly the right idea long term depending on how everyone feels about the comment above.

@chainsafe/bls is designed isomorphicly and to work with either @chainsafe/blst or bls-eth-wasm depending on if its running client or server side. Looks like the blst side is setup as a peer dependency correctly but bls-eth-wasm is a required dep. Feels like those should be symmetrical if we can make that happen. And because light-client is meant to be an isomorphic library too, im thinking that it should probably match that same pattern. We could add a note to the docs to make it clear that the consumer of light-client (or bls depending on use case) can choose which one to include. One or the other is required but both do not need to get imported (for performance reasons on the server and for bundle size reasons on the client side).

Good to know. Will just proceed with @chainsafe/blst for today and revisit if/when we end up running Ultralight in browser again.


[Doc] remove xgboost demo from aws-emr doc due to nccl issue [skip ci]

Signed-off-by: liyuan<EMAIL_ADDRESS>remove xgboost demo from aws-emr getting started doc due to nccl issue

Can you file an issue to re-add the link to the AWS EMR XGBoost example notebook once https://github.com/dmlc/xgboost/issues/8746 is resolved?

build


Is there any documentation of how to create nextjs drupal project in docker4drupal or docker containers?

I have managed to accomplish all steps of "Get started", I added into docker-compose:
  node:
    image: wodby/node:$NODE_TAG
    container_name: "${PROJECT_NAME}_node"
    working_dir: /app
    labels:
    - "traefik.http.services.${PROJECT_NAME}_node.loadbalancer.server.port=3000"
    - "traefik.http.routers.${PROJECT_NAME}_node.rule=Host(`node.${PROJECT_BASE_URL}`)"
    expose:
    - "3000"
    volumes:
    - ./:/var/www/html/app
    command: sh -c 'yarn install && yarn run start'
    networks:
      - shared
      - default

I created folder app/ so my file structure looks like this:
app
config
database
vendor
web
.env
.gitignore
composer.json
composer.lock
docker-compose.yml

I enter php container, run node server but I can not see anything at http://localhost:3000/ or drupal.docker.localhost:3000
I edited my traefik like so:
version: '3'

services:
  traefik:
    image: traefik:v2.0
    command: --api.insecure=true --providers.docker --providers.docker.network=shared
    networks:
      - shared
    ports:
      - '80:80'
      - '8080:8080'
      - '3000:3000'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

networks:
  shared:
    external:
      name: shared

What am I doing wrong?

@o771e I'm not familiar with docker4drupal. Can you try the #nextjs channel on Drupal Slack? You might find other people that can help.

The Environment overrides are just to satisfy my inner lazy child ;)
And for testing purposes I swapped out the 'Lando supported' Node version for the node:18 version. Lando uses the official Node containers straight from Docker hub.  But you can safely swap out the nextjs declaration for something less experimental.
  nextjs:
      type: node:16
      scanner: false
      ssl: false
      port: 3000
      dir: /app/frontend
      excludes:
        - backend

@o771e did you find a solution at the end? I'm in the exact same situation as you...

@MXTcomunica nope, sorry

I am using docker4drupal. If using the https://github.com/chapter-three/next-drupal it includes drupal and you can simply download the tar of docker4drupal, untar, remove the docker-compose.overide.yml there and then use this to launch drupal.
I have added some more info on how to set up on my site https://www.danlobo.co.uk/article/getting-started-drupal-10-and-docker

One issue I see with docker4drupal is that it uses port 3000
ERROR: for traefik  Cannot start service traefik: Ports are not available: listen tcp <IP_ADDRESS>:3000: bind: address already in use

I would recommend using docker4drupal as it has superior support for developers and debugging.
As this is headless it makes sense to run them separately but they can be in the same project or code base if preferred.
I have managed to set up the umami demo and am able to to login etc without issue although in theory the quickstart should allow you to set up very quickly to evaluate the site, but I had issues with freezing and connection reset issues.


Improve Error Messaging in GAM when user hits the max number of group memberships

Issue: When attempting to add a user to a new Google Group using GAM, who has already exceeded the Gaia membership limit, the error message returned is not informative enough for effective troubleshooting.
Full steps to reproduce the issue:

A user is over the Gaia membership limit
Attempt to add this user to a new Google Group using GAM.
Observe the error message: ERROR: 412: Condition not met - conditionNotMet.
Compare with the Groups WebUI, which provides a more detailed error message: "An error occurred. 1 person has reached the maximum number of groups they can join. To be added to any new groups, they must leave some where they're currently a member."

Suggestion: It would be beneficial to align GAM’s error messaging with that of the Groups WebUI. Could GAM provide a detailed error message indicating that the user has reached their group membership limit? It will make the error more understandable and actionable.

Unfortunately GAM only knows what Google servers tell it about the problem. GAM has no knowledge of these limits or which condition Google may be referring to here.
Without Google providing a more meaningful error message on their end there's no way for GAM to determine where the error lies.


python3Packages.pytenable: 1.3.0 -> 1.3.1

Motivation for this change
Update to latest upstream release 1.3.1
Change log: https://github.com/tenable/pyTenable/releases/tag/1.3.1
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase 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.

Result of nixpkgs-review pr 128683 run on x86_64-linux 1

2 packages built:

python38Packages.pytenable
python39Packages.pytenable


Add ISBN lines to official paper examples

These examples of official documents (command papers and house of commons papers) need the ISBN ref visible on the page as well as in the metadata.

:+1: Test failures appear to be unrelated poltergeist network issues.


New command: m365 tenant report getOffice365ActivationCounts

Closes #2257

We'll get it reviewed in the coming days. Thank you!

Merged manually. Thank you! 👏


Feature/install events

implements pre & post install events has discussed in #268
usage
// App/Providers/AppServiceProvider.php

use Nwidart\Modules\Events\ModuleIsInstalling;
use Nwidart\Modules\Events\ModuleWasInstalled;
...

    public function boot()
    {
        \Event::listen(ModuleIsInstalling::class, function (ModuleIsInstalling $event) {
            $moduleName = $event->getName();
            $module = $event->getModule();
            $console = $event->getConsole();
        });

        \Event::listen(ModuleWasInstalled::class, function (ModuleWasInstalled $event) {
            $moduleName = $event->getName();
            $module = $event->getModule();
            $console = $event->getConsole();
        });
    }

These events don't need the console, repository, module. Just the module name is enough.

You're also missing blank lines at end of files. https://insight.sensiolabs.com/projects/25320a08-8af4-475e-a23e-3321f55bf8d2/analyses/187

The console should be availlable if you want to prompt a choice. Don't you think ? Ok for the code Style.


[🐛Bug]: Error in console ENOENT: no such file or directory, open Video-reporter.log after run tests

https://github.com/webdriverio/webdriverio/issues/12097#issuecomment-1912357798
WebdriverIO Version
8.20.5
Node.js Version
18.17.1
Mode
WDIO Testrunner
Which capabilities are you using?
Main config in package.json
"devDependencies": {
    "@moroo/wdio-slack-reporter": "^8.0.1",
    "@wdio/cli": "^8.16.4",
    "@wdio/local-runner": "^8.16.4",
    "@wdio/mocha-framework": "^8.16.3",
    "@wdio/spec-reporter": "^8.16.3",
    "chromedriver": "^119.0.0",
    "geckodriver": "^4.3.0",
    "wdio-chromedriver-service": "^8.1.1",
    "wdio-geckodriver-service": "^5.0.2",
    "wdio-intercept-service": "^4.4.0",
    "wdio-video-reporter": "^4.0.5"
  },
"dependencies": {
    "axios": "^1.5.1",
    "moment": "^2.29.4",
    "ws": "^8.15.0"
  }

main config in wdio.conf.js

import SlackReporter from '@moroo/wdio-slack-reporter';
import { join } from 'path';
import moment from 'moment';
import video from 'wdio-video-reporter';

export const config = {
    runner: 'local',
    maxInstances: 3,
    capabilities: [
        {
            maxInstances: 2,
            acceptInsecureCerts: true,
            specs: ['./test/specs/**.js'],
            browserName: "chrome",
            "goog:loggingPrefs": {
                browser: "ALL",
              },
            "goog:chromeOptions": {
                args: [
                // "--start-maximized",
                "--enable-logging",
                "--headless",
                "--no-sandbox",
                "--disable-dev-shm-usage",
                "--disable-gpu",
                "--window-size=1920,1080"
              ],
              prefs: {
                download: {
                  default_directory: join(process.cwd(), "./download")
                }
              }
            },
          }, {
                maxInstances: 1,
                //
                browserName: 'firefox',
                acceptInsecureCerts: true,
                specs: ['./test/specs/test.js'],
                "moz:firefoxOptions": {
                  args: [
                  '--width=1920',
                  '--height=1080',
                  '-headless'
                ],
              }
    }],
    logLevel: 'info',
    bail: 0,
    outputDir: `./logs/${moment().format('YYYY-MM-DD_HH-mm')}`,
    baseUrl: 'http://localhost',
    waitforTimeout: 10000,
    connectionRetryTimeout: 120000,
    connectionRetryCount: 3,
    services: ['chromedriver', 'geckodriver', 'intercept'],
    framework: 'mocha',
    reporters: ['spec',
        [ video, {
          saveAllVideos: false,
          videoSlowdownMultiplier: 10,
        }],
    ],
    mochaOpts: {
        ui: 'bdd',
        timeout: 100000000
    },

What happened?
Sometimes I get this error in console and and my tests are failing. This error does not always occur.
I use moment library for generate logs folder for each tests run. This is convenient when each folder has the format YYYY-MM-DD_HH-mm.
Same issue in Ubuntu LTS 22.04 and Windows 10x64 for me.
Currently I use 4.0.5 Wdio video reporter version. But same issue in latest version 5.1.1
Are there ways to solve this problem? Or is there an option to disable wdio-0-0-Video-reporter.log file log creation?
What is your expected behavior?
No error in console.
How to reproduce the bug.
I think need to use same configuration and run tests. Sometimes it reproduces
Relevant log output
[0-0] node:events:495
[0-0]       throw er; // Unhandled 'error' event
[0-0]       ^
[0-0]
[0-0] Error: ENOENT: no such file or directory, open 'logs/2024-01-26_09-11/wdio-0-0-Video-reporter.log'
[0-0] Emitted 'error' event on WriteStream instance at:
[0-0]     at emitErrorNT (node:internal/streams/destroy:151:8)
[0-0]     at emitErrorCloseNT (node:internal/streams/destroy:116:3)
[0-0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
[0-0]   errno: -2,
[0-0]   code: 'ENOENT',
[0-0]   syscall: 'open',
[0-0]   path: 'logs/2024-01-26_09-11/wdio-0-0-Video-reporter.log'
[0-0] }
[0-0]
[0-0] Node.js v18.18.2
[0-0] FAILED

Thanks for reporting!

We greatly appreciate any contributions that help resolve the bug. While we understand that active contributors have their own priorities, we kindly request your assistance if you rely on this bug being fixed. We encourage you to take a look at our contribution guidelines or join our friendly Discord development server, where you can ask any questions you may have. Thank you for your support, and cheers!

@christian-bromann I investigated this issue many times. And I think I found the reason.
First, logs are created:
wdio.log, wdio,browser.log, drivers log(chromedriver, geckodriver)
after 2 second logs are created:
Video-reporter.log and rawSeleniumVideoGrabs folder
That's why I think there were cases with bug;
Test run in 58-59 second of some minute, and wdio-0-0-Video-reporter.log could not be created, since the next minute had already arrived
I have added a temporary solution in wdio.conf.js, like:
import fs from 'fs'

const logsPath = './logs';
const folderName = moment().format('YYYY-MM-DD_HH-mm');
const folderPath = `${logsPath}/${folderName}`;
fs.mkdirSync(folderPath, { recursive: true });
const allFolders = fs.readdirSync(logsPath);
const sortedFolders = allFolders.sort((a, b) => {
    return fs.statSync(`${logsPath}/${b}`).ctime.getTime() - fs.statSync(`${logsPath}/${a}`).ctime.getTime();
});
const latestFolder = sortedFolders[0];
console.log('Latest test folder', latestFolder);

export const config = {

outputDir: `${logsPath}/${latestFolder}`,

In this case, the log folder will be created before each test run.
I think the permanent solution would be to create logs at the same time. Or need to look for other options.

Test run in 58-59 second of some minute, and wdio-0-0-Video-reporter.log could not be created, since the next minute had already arrived

So the reports are being overwritten by another test?

How does the test fail due to a non existing log file?

How does the test fail due to a non existing log file?

In this case, I think the error was not that the file does not exist. The problem is that it tried to create a log file in a non-existent folder.

Ah, I think this can be fixed. All contributions would be appreciated!


Add link to code for QC report

Closes #19. Here I'm adding a FAQ that includes information about how we generated the QC report. I included a link to the template for the QC report and then also provided some explanation on how we got the input needed for the QC report. I think some of it might be repetitive, but I thought it would be nice to have some context of what goes into the QC report and not just give the link to the code, but open to other suggestions on how to frame this.
I also included a link to the scpcaTools package as I thought it could be useful for people to have somewhere.

I wasn't sure about linking to a tagged version or not, but did so because we did it for the splici code from the scpca-nf repo. Should we also change that link then?

I think that is where I was leaning, which was what I meant when I made a reference to previous FAQ questions as well. I think I would rather people see the lastest code from the docs, even if it is not exactly the code that was used for a particular sample. If people need to track that down, they will have to look at the version tagged in the metadata (as the docs might not correspond anyway as we update them).


Style when used in Embed/inline mode

I have the datepicker set for a div element. But the datepicker is just half of div's width and oriented to the left. How to make it fill the entire div's width? I have set the black border for my div. Pls refer the img.

Try:
.datepicker-inline,
.datepicker table{
  box-sizing: border-box;
  width: 100%;
}


Correction for raw affiliation Laboratory of Biology and Modelling of the Cell, Univ Lyon, ENS de Lyon, Univ Claude Bernard, CNRS UMR 5239, INSERM U1210, 46 Allée d’Italie Site Jacques Monod, 69007, Lyon, France

Correction needed for raw affiliation Laboratory of Biology and Modelling of the Cell, Univ Lyon, ENS de Lyon, Univ Claude Bernard, CNRS UMR 5239, INSERM U1210, 46 Allée d’Italie Site Jacques Monod, 69007, Lyon, France
raw_affiliation_name: Laboratory of Biology and Modelling of the Cell, Univ Lyon, ENS de Lyon, Univ Claude Bernard, CNRS UMR 5239, INSERM U1210, 46 Allée d’Italie Site Jacques Monod, 69007, Lyon, France
new_rors: 02vjkv261;029brtt94;02feahw73;04zmssz18;01bj4fd12
previous_rors: 02vjkv261;029brtt94;02feahw73;04zmssz18
works_examples: W3035739326
contact: a18ece7770dbf4c7b09ace016a15db11:f7f9479895caa4bfa929ad307d88 @ ens-lyon.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


Add codeql-analysis.yml

Add a new github action.

CodeQL 'Autobuild' stage failed because didn't checkout third-party libraries.

CodeQL 'Autobuild' stage failed because didn't install dependencies.


toString comparison breaks if object has toString that isn't a function

If there is data passed into equals that has toString as a field that's not a function, equals breaks because it tries to call it as a function.
Example data:
{ field: "status", fieldtype: "jira", fieldId: "status", from: "10000", fromString: "To Do", to: "3", toString: "In Progress" }
I know that it's not ideal to have a field named toString, but this is external data that I don't have any control over.

Actually, it looks like there's a PR that's been open for this since August 2022 - https://github.com/epoberezkin/fast-deep-equal/pull/134


HA-Proxy support for multi clusters

We want to support multiple clusters in a single ESI.  This can be done using the single ELAN, using multiple IP addresses at the frontend.  HA-Proxy supports using a configuration directory instead of configuration file, this will make it easier to template-in a new (standalone) config file for a new cluster.
This issue will:

change systemd unit definition to read config from directory /etc/haproxy (instead of file /etc/haproxy/haproxy.cfg)
separate the base "global" settings (including stats frontend), basically taking existing haproxy.cfg and creating 00-haproxy.cfg
create a new template containing the frontend and backend definitions (excluding stats)
update the new template to replace ocp4 with {{ cluster_name }}
ensure new template substitutes cluster_name in host names appropriately
move the creation of the config file from the template to cluster-deploy-time
use a filename like 10-{{ cluster_name }}.cfg for the new file in /etc/haproxy

We'll also have to manage obtaining the IP address to use for the additional cluster... and work in the DNS update as well.

Network namespaces would be another way to solve this; unfortunately RH version of HA-Proxy is not built with namespace support.

I think I'd like to do this in two portions:

Modify the existing HA-Proxy instance to support the additional required external presentations only
Use a separate new HA-Proxy instance on a separate NIC in a different NS to serve the internal presentations for each cluster

I feel like this will provide better separation between the instances than doing it in a single non-namespaced instance.  The only thing that would break it is if the kube-api calls do not have SNI or equivalent to allow HA-Proxy to separate them.

/etc/haproxy/conf.d already appears to be configured in the RHEL RPM, but was not added to the custom ExecStartPre line.  This is now done.

Testing shows that both the k8s-api and machine-config-service are full-TLS.  So the same process should work to separate requests on the internal ports as well, meaning that no additional NIC or NS should be needed to support multiple clusters!  Will give this a test (configure HAProxy for ACL support for the single cluster).

Cancel the previous: certificate provided by MCS is generic.  Would have to trace some requests to see if the requestor uses the hostname at all.
If we have to do a separate IP for MCS, might as well do it for k8s-api as well. :/

Came up with a solution for m-c-s -- ACL based on source IP address.  New playbook committed in 579dbe4 -- plus corresponding Jinja2 templates -- will

create a cluster configuration file for the API and MCS frontends for the new cluster
create a cluster configuration file for all the backends for the new cluster
create a file containing the list of IP addresses corresponding to the cluster nodes
add the HTTP/S backends for the cluster to the existing HTTP/S frontends
restart HAProxy when done

Currently this all needs to be done after the DNS change adding the new cluster, because the config has hostnames configured as the targets of the backends.  Could consider changing these to IPs, but DNS needs to be done anyway and using hostnames reduces the touch points needed in the case of an IP address change.
The playbook has seen limited testing on Atlantis but needs to be fully tested.


MPEG-7: 3 modes (strict, relaxed, extended), fix

Due to my merge of https://github.com/MediaArea/MediaInfo/pull/595 which was developed before https://github.com/MediaArea/MediaInfo/pull/680 and it led to a "conflict" between the 2 PRs :(.


SVG export shows black boxes instead of notes

I installed the Netron_2.0.9_amd64.deb on Linux Mint 19 (based on Ubuntu 18.04).
When I load the Inception v1 ONNX model and click File -> Export -> SVG, the resulting SVG file contains black boxes instead of nodes (see the attached image). PNG export works fine.
Thanks for the great project!

model.svg

Does the Linux viewer you are using support CSS styles in SVG? Both Chrome and Firefox seem to render the file correctly. If you want to tinker with inlining the styles, check the export() and transferStyleSheet() methods in src/view.js.

Can confirm that it works now. Thanks!


F #-: Floating IPs start script

New script to be used as start script on virtual machines. It get all
NIC_ALIAS IPs associated to NIC IPs of a service using OneGate, and
install iptables SNAT and DNAT rules to get connectivity with the VM
using the ALIAS_NIC IP.
Signed-off-by: Ricardo Diaz<EMAIL_ADDRESS>

To be reviewed, do not merge still pending on some improvements


Cloud install status in element

Not relying on state-sharing here gets us a bit closer to the Polymer 1.0 upgrade (#1900)

This change is

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/generic_ui/scripts/ui.ts, line 1167 [r1] (raw file):

  }

  public i18nSanitizeHtml = (i18nMessage :string) => {

ui.i18nSanatizeHtml  is being used in invite-user.ts and a few other places. Do you want to update those in the cl as well?

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/generic_ui/scripts/ui.ts, line 1167 [r1] (raw file):
Previously, Elewis97 wrote…
> ui.i18nSanatizeHtml  is being used in invite-user.ts and a few other places. Do you want to update those in the cl as well?

I'd like to go with moving files to use this from the `translator` module as they're touched instead of all at once, the same way we're currently moving things to use `translator.i18n_t` instead of `ui.i18n_t`.  This could be a giant search-and-replace, but my judgement on it is that it's not important enough to cause all those merge conflicts for.
How strongly do you feel about that change?

Comments from Reviewable

Cool, I was working with @Elewis97 on this. Sounds good to me to leave them, as long as everything still works. Do we want to leave the function in ui then? So other references don't break?

Definitely!  Is the change on 112 good for that?

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

Comments from Reviewable

@Elewis97 PTAL

:thumbsup:

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Got verbal approval from Lucy, merging

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

Comments from Reviewable


Fix PropTypes import in Readme.md

The package is called mobx-react, or is this due to change?
The PropTypes should then be imported from mobx-react and not react-mobx.

@reisub-de, thanks :-)


DRILL-4699: Add description column to sys.options table

Add new constructor for each validator in TypeValidators with
description field; deprecate old constructors
Add descriptions for some validators

The work in this PR is dated; the relevant base code has changed so much (e.g. DRILL-5547, DRILL-5752) so this change cannot just be pulled; it needs to be redone. Also part of the intended goal is now covered by DRILL-5723, which separated the internal options out of sys.options, thus allowing to hide those options that users "should not modify".

Addressed as part of #1279 .


14 UNAVAILABLE: GOAWAY received

Environment details

OS: Linux
Node.js version: 10
yarn version: 1.15
@google-cloud/spanner version: 3.1.0

Steps to reproduce

Run a web service using nodejs-spanner
Observe random 14 UNAVAILABLE: GOAWAY errors

It happens 1-5 times a day
The full stacktrace is
14 UNAVAILABLE: GOAWAY received Error: 14 UNAVAILABLE: GOAWAY received
    at Object.exports.createStatusError (/app/node_modules/grpc/src/common.js:91:15)
    at ClientReadableStream._emitStatusIfDone (/app/node_modules/grpc/src/client.js:233:26)
    at ClientReadableStream._receiveStatus (/app/node_modules/grpc/src/client.js:211:8)
    at Object.onReceiveStatus (/app/node_modules/grpc/src/client_interceptors.js:1272:15)
    at InterceptingListener._callNext (/app/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/app/node_modules/grpc/src/client_interceptors.js:618:8)
    at Object.onReceiveStatus (/app/node_modules/grpc-gcp/build/src/index.js:93:25)
    at InterceptingListener._callNext (/app/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/app/node_modules/grpc/src/client_interceptors.js:618:8)
    at /app/node_modules/grpc/src/client_interceptors.js:1029:24

Interestingly, we had a very similar error (13 INTERNAL: GOAWAY) when using node-spanner v2.x. We were hoping to see this error disappear by upgrading, which it did, but it apparently got replaced by this one ^^
It might be related to https://github.com/googleapis/nodejs-spanner/issues/234 or to any of these issues https://github.com/grpc/grpc-node/issues?utf8=✓&q=is%3Aissue+GOAWAY+

Hello, any news on this? It's still happening every day. Is there anything I can do which would help understanding the issue?

@AVaksman any thoughts on this one?

It is a transient error gRPC - 14.
This error is auto retryable by default (if autoRetry is not manually disabled on the client, link)
Recommendation would be to try increasing maxRetries value on the client or to implement a retry logic in your application.

The GOAWAY could be caused by the keepalive settings. If add GRPC_TRACE=all and GRPC_VERBOSITY=ERROR environment variable, you may get more information about the error that can help determine the root cause.

Hello @AVaksman , thanks for the suggestion, I'll add those env variables right away. I'm not sure when I'll be able to post an update on this, as we get those errors really erratically.
Here's a screenshot for the last 30 days:

Hello again @AVaksman , sorry if that's a stupid question, but where would the extra logs appear?
We had the error again today, and I can't seem to find any new information :/
This is from StackDriver:

We got similar problem, will try to increase maxRetries to see whether can resolve.
https://googleapis.dev/nodejs/spanner/latest/global.html#ClientConfig

@WaldoJeffers :wave: I would expect the detailed logging to show up as console.info level logs in your stackdriver logging.
Have you been continuing to see these issues over the past couple months?

Hi! If 14 UNAVAILABLE: GOAWAY is considered transient, should it be added to the list of retryable status codes here?
https://github.com/googleapis/nodejs-spanner/blob/v4.2.0/src/transaction-runner.ts#L29
And if it isn't considered retryable, how can we best handle these errors within runTransactionAsync? Thanks!

@bcoe Sorry for the late reply. Yes I can confirm we are still seeing very regularly across all our services, which use different versions of the nodejs-spanner library. Could this error be linked to specific versions of the library, or is it unrelated?

looping in @olavloite as well, who's been doing a lot of work on the library recently.
@WaldoJeffers I would definitely suggest you try to get on the latest version of Node.js spanner, if possible, there have been a variety of fixes to gRPC over the past two months, so the version can definitely have an impact.

@WaldoJeffers After some digging and debugging I think I've found the reason for this. It occurs if the backend returns an UNAVAILABLE error for a streaming RPC before that streaming RPC has returned a resume token. The Node client only retries a streaming RPC if it has already received a resume token, but it is also possible to retry the streaming RPC before it has received a resume token by restarting the entire stream. I'll submit a fix in the coming days.
Note: A streaming RPC in this case basically means any call that executes a SQL statement, as the Spanner client uses the RPC executeStreamingSql for both queries and DML statements. The only exception is the execution of batched DML statements, which uses a separate RPC.


Dropbox Authentication - Asking for permissions again even after authentication

http://stackoverflow.com/questions/24531610/dropbox-api-on-android-always-asking-for-permission-to-link-app-to-dropbox-acco
@DESHRAJ: This might be helpful. You have to just find the right place in the social-auth code to add this.

@dexter1691 This bug has been fixed in the workspaces branch. Closing it.


Integrated terminal behavior inconsistent with external terminal - PAM group change is not applied

VS Code Version: 1.54.2
OS Version: Ubuntu 20.04 LTS (Linux x64 5.4.0-66-generic snap)

Steps to Reproduce:

Setup pam-group:

edit "/etc/security/group.conf", adding a line:
*;*;*;Al0000-2400;docker
Create a file "/usr/share/pam-configs/pam-group" with the following content
Name: activate /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
required                        pam_group.so use_first_pass
enable the pam setting:
sudo pam-auth-update --enable pam-group

Reboot and then Open Terminal and then run "id"

3. Open VScode and open the integrated terminal and then run "id"

Does this issue occur when all extensions are disabled?: Yes

An interesting update:
when I launch "code" from external terminal, and then if I launch terminal, I can see the group membership is correctly assigned:

Another update:
I modified the launching option to use "run in terminal"

Now it works

When launching via the launcher (not terminal) we source the environment by running $SHELL -ilc, it's probably that which is causing the issues. But it looks like you found what's probably the right workaround for this.


[UI/UX] Storymap footer behaviour

Description
Please explore the possibility of preventing the storymap footer and the GeoHub footer from overlapping the storymap. Instead, they should switch to a scrolling behavior, similar to what's implemented here:
https://www.nytimes.com/interactive/2023/03/13/world/middleeast/antakya-damage-assessment.html?rsrc=flt&unlocked_article_code=1.Ik4.Gx44.EUOVMEajMWfs&smid=url-share
Screenshots
No response
Mockup URL/file
No response

There are some issue with this behaviour. First, in the embedded version, the footer doesn't appear, and the last card doesn't achieve full opacity:
https://dev.undpgeohub.org/storymaps/3c50cf49-0212-4014-9a7e-fafc27ad088a/viewer?embed=true
Second, if the user adds a lot of text, such as a long list of references or methodology notes, the map on the last card becomes hidden. Could we move the footer below the final chapter to resolve this?


Approach for performing Deep Learning Inference inside Trusted Enclave

Ran MNIST, but running Deep Learning Models (MobileNet for ex.) fails because of the limited memory. What approaches are you guys seeking to enable heavier computations ?
Outsourcing the Compute to a GPU as described in Slalom ? or keep it in the CPU and release neural network layers in chunks to the TEE as described in ML Capsule?
We are currently experimenting with chunking layers and sending to the enclave in batches and processing them. Let me know your thoughts

Hey! Thanks for the issue.  We have played around with Slalom in the past but outside of this repo, it seems promising but I am not sure it will mitigate the memory issue you are describing.
ML Capsule sounds quite interesting, my immediate thought would be slowness by going in and out of the enclave environment so much.
My understanding is that SGX machines should support page swaps natively, but again quite slow.  Were you seeing a crash?
@justin1121 has ran some larger models in the past, is there a stack trace or anything that you are seeing?
Thanks!
~ Ben

Hey @bendecoste,
here's the message I get when try to load a mobilenet
GetModelLoad rpc failed.
Received message larger than max (5359656 vs. 4194304)
Traceback (most recent call last):
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1334, in _do_call
return fn(*args)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1319, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1407, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InternalError: Issue with grpc connection
[[{{node ModelLoadEnclave}} = ModelLoadEnclave[_device="/job:localhost/replica:0/task:0/device:CPU:0"](ModelLoadEnclave/model_name, ModelLoadEnclave/model)]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/psi/anaconda3/envs/v1/bin/model_run.py", line 6, in
exec(compile(open(file).read(), file, 'exec'))
File "/home/psi/sgx_ml/tf-trusted/tf_trusted_custom_op/model_run.py", line 122, in
load_node.run()
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2368, in run
_run_using_default_session(self, feed_dict, self.graph, session)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 5192, in _run_using_default_session
session.run(operation, feed_dict)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 929, in run
run_metadata_ptr)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1152, in _run
feed_dict_tensor, options, run_metadata)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1328, in _do_run
run_metadata)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1348, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InternalError: Issue with grpc connection
[[node ModelLoadEnclave (defined at :42)  = ModelLoadEnclave[_device="/job:localhost/replica:0/task:0/device:CPU:0"](ModelLoadEnclave/model_name, ModelLoadEnclave/model)]]
Caused by op 'ModelLoadEnclave', defined at:
File "/home/psi/anaconda3/envs/]v1/bin/model_run.py", line 6, in
exec(compile(open(file).read(), file, 'exec'))
File "/home/psi/sgx_ml/tf-trusted/tf_trusted_custom_op/model_run.py", line 121, in
load_node = model_load(model_name, tflite_bytes)
File "", line 42, in model_load_enclave
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
return func(*args, **kwargs)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op
op_def=op_def)
File "/home/psi/anaconda3/envs/v1/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1770, in init
self._traceback = tf_stack.extract_stack()
InternalError (see above for traceback): Issue with grpc connection
[[node ModelLoadEnclave (defined at :42)  = ModelLoadEnclave[_device="/job:localhost/replica:0/task:0/device:CPU:0"](ModelLoadEnclave/model_name, ModelLoadEnclave/model)]]

Hey @justin1121 !
Which were larger models you tested? (I'm working with a mobilenet0.5)

Hey!
I don't recall 100%. Seems like it's a problem with the model size in
megabytes. Grpc has a switch where you can change this limit to be
unlimited. I'm away until Monday but can take a quick look at this then.
Feel free to submit a PR if you find a fix sooner.

Which were larger models you tested? (I'm working with a mobilenet0.5)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dropoutlabs/tf-trusted/issues/5#issuecomment-472321425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWgan2VRg1Gvn0_xoK8d1ihjV1J25K_ks5vWLLygaJpZM4bg9w2
.

@vishwajit123 in https://github.com/dropoutlabs/tf-trusted/pull/11 I was able to fix the problem you were having with mobile0.5. I ran mobilenet_v2_1.0_224 which I believe is bigger than mobile0.5.
@Saxenauts I'm curious if you've had any luck in what you were talking about above. Running mobilenet_v2_1.0_224 seems to have pretty reasonable performance. (Haven't done a proper benchmark though).

@justin1121 : I was able to run mobilenet_v2_1.0_224 and it runs in about 1.3 seconds per image in SGX. Does that sound reasonable to you? I understand that it should run considerably slower than CPU but Just want to make sure that I do not have a problem that unnecessarily slows down the processing.
Mobilnet inference time seems to be 120x slower than the inference time in CPU, I also tried other models like InceptionV1 (http://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip) and it runs in about 2.2 sec per image in SGX (around 150x slower than CPU). Let me know if that sounds similar to what you got.

Hey @tgamal that seems reasonable to me. I know there are ways to tweak the performance in the enclave that we haven't explored yet.

Thanks @justin1121 , let me know if you have something specific to explore in terms of performance. I am happy to explore some ideas.


Test StatsSchema

does it work across providers?

Test:
Create dummy provider for some testing as fixture?
Use a mimesis provider and mimesis_stats provider for integration test?

_unnest

Does it work on single nesting
does exclusion work?

_create_schema

does it create

create

use original or dummy provider

iterator shouldn't need test, as similar to create?


Use annotation processing for code generation

The code-generation branch is already beginning to add the ability to generate all of the case permutations for a given type (e.g. Tuple2 or List) so that they don't have to be handwritten. Currently this requires generating the code and then copying it into a class file.
It would be nice if there was an annotation that could be added to generator classes such that the Cases code gets generated automagically as part of the compile.

You may be interested in https://github.com/derive4j/derive4j that does exactly that.


Cannot import name get_cmap on some examples

Stacktrace, Is there something that's missing to run this sample, I am facing this issue on

delaunay.py
graph-flights.py
choropleth.py
kde.py
voronoi-filled.py

2015-09-30 12:05:38.429 Python[19294:2380557] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/sx/5cqr_xwj5c50nlc6by1431sm0000gn/T/org.python.python.savedState
Traceback (most recent call last):
  File "delaunay.py", line 10, in <module>
    geoplotlib.delaunay(data, cmap='hot_r')
  File "build/bdist.macosx-10.10-x86_64/egg/geoplotlib/__init__.py", line 177, in delaunay
  File "build/bdist.macosx-10.10-x86_64/egg/geoplotlib/layers.py", line 405, in __init__
  File "build/bdist.macosx-10.10-x86_64/egg/geoplotlib/colors.py", line 18, in __init__
ImportError: cannot import name get_cmap

Hi
is this solved if you install matplotlib?

Hi looks like this is resolved. it was a strange issue which seems to appear randomly. I am closing this as of now as it works for me in this case. Sorry for the trouble :+1:

No worries. Happy to hear you got it to work :)

@sudheesh001 Hi, I am having ImportError: cannot import name get_cmap too, How did you solve it?
Thanks,

Hi
as mentioned before, do you have matplotlib installed?

Yes, I did, and import matplotlib did work in python.
Here is the error message I got(Windows 10, pip installation):

if you run a python console and execute the following:
import matplotlib
print matplotlib.__version__

what does it show?
and if you run the following:
from pylab import get_cmap

do you get the same error?

For the first one, I got:
1.5.2
For the sec, I got:
Traceback (most recent call last):
   File"<stdin>", line 1, in <module>
ImportError: cannot import name get_camp

I looked at the released versions, and the closest versions in pip are 1.5.1 and 2.0.0b1, but I do not see this 1.5.2.
I tried the 1.5.1 and then 2.0.0b1 versions, and both work fine since the get_cmap method is there.
How did you install matplotlib?
If you do a pip list, which version of matplotlib is shown?


Add NO_IMAGE_BUILD flag to test runner tests

closing this because we would need to increase default runner size to make docker layer caching work. I'm not sure why this works over on the gravity bridge repo but not here. In this case github loses since we'll end up spending more free CI minutes than we would otherwise with this optimization.


Fix chapter info summary in sidebar of viewer.

This commit addresses issue 118.
The content in the sidebar for a chapter ('chapter info') should appear below the chapter.

@goudine Go ahead and remove the viewerMode references in a separate commit (same PR).

I suspect we should remove viewerMode. But we should at least be consistent. If it appears at line 1 it should appear at 17. It's confusing to use it in some places alongside composerMode and to not use it in others.
Here's what I meant about the redundancy... Tags were being shown/hidden based on properties that the parent tag was shown/hidden on. So the value is already known and the child is already there or not there. It can be simplified like this:

Table of Contents

Click and drag to re-order chapters.

  <button ng-click="stateSvc.addNewChapter()" class="sidebar-button">Add New Chapter</button>

{{ chapter.index}}

{{ chapter.about.title }}

        {{ chapter.about.abstract }}

{{ chapter.index}}

{{ chapter.about.title }}

        {{ chapter.about.abstract }}

Given how similar the content is, we could continue to hide each tag individually, but then we don't need two copies of everything.
So we could do something like this:

Table of Contents

Click and drag to re-order chapters.

  <button ng-if="composerMode" ng-click="stateSvc.addNewChapter()" class="sidebar-button">Add New Chapter</button>

{{ chapter.index}}

{{ chapter.about.title }}

        {{ chapter.about.abstract }}

Which to use is something of a matter of taste. I'm not really sure which to prefer. I'd look around at other code in the project and try to keep it similar.
Also note the extra space on line 5.
Caveat: I haven't tested any of this and haven't had a ☕ yet.

I've added two small commits to fix some issues

@cuttlefish I tested with your commits and everything's functioning as expected.
OK to merge.


Add server 2022 & office LTSC 2021

Added server 2022 datacenter and Office LTSC 2021 to KMS database

when can this be be closed? was looking to open this myself.

Try to send your PR against any maintained fork instead -> #144


Lua conditional commands

Allow Lua to be used in Conditional commands (as LuaIf and LuaElseIf), and allow Conditional commands of multiple types to see and respond to each other!
This PR comes with at least one nasty compromise: the Condition#IsElseIf property is kind of a bummer, but its addition allowed me to preserve the class hierarchy and DRY out the ElseIf code quite nicely (also reused in LuaElseIf).
Tests are written and pass:

Works great here, thanks very much for the contribution.
The IsElseIf property seems pretty resonable to me :)


what about an offline plugin «framework»

Why
I took a look to #26 and #117 and #64. And the answer was always the configuration.
IMO it's great for «simple» and quick implementation. But when there is some needs that requires to be specific or «not like the other» it becomes difficult.
My actual case looks simple but I can't make it work for now:

I need to cache bundled files of my SPA (works fine)
[required] I need to cache some API requests when user is authenticated (it should not cache 4xx response
[optional] I need to choose the caching strategy according to requested resource (user settings or last message list for example)

Also later, if I need (or someone of my team) to change something on this case, I need to be sure to not break something. In other words, I might need to unit test the cache configuration.
How
Default usage does not change.
When specified the dev can extract a manifest of the generated files to cache.
The dev can be now responsible of the service worker implementation:
---OfflinePluginRuntime.install();
+++// loaded with webpack's worker-loader
+++import('./offline.worker.js').then(({ default: Worker }) => {
+++  // do things with the worker eventually
+++  this.worker = new Worker();
+++});

// offline.worker.js
// I didn't think about the API. Just writing dumb things
import { installWorker, activateWorker, initStaticCache, importCacheManifest, cacheDynamic } from 'offline-plugin/runtime';

const manifest = importCacheManifest();
installWorker();
activateWorker();

initStaticCache({ manifest, responseStrategy: 'cache-first' );

self.addEventListener('fetch', (event) => {
  cacheDynamic(…)
});

Alternatively
It looks like the needs are more like the workbox tool, but well I don't like the complexity of the lib when working with webpack and when we don't want to use their CDN.
So I think offline-plugin is a good start for solving complex things with a simple tool.

What do you think?

Hey @iamdey. Thanks for opening this. It indeed makes sense and I'll look into this for the v6 release 👍


Add Hash Function Benchmarks

Description
This PR adds benchmarking infrastructure using criterion crate. For now, a single benchmark is added.
Related issue: #65
Changes
The file benches/hash_benchmark.rs includes the compute_bytes_benchmark function, which has three benchmarks for different use cases:

compute_bytes_small: Benchmarks with small input data.
compute_bytes_medium: Evaluates medium-sized input data.
compute_bytes_large: Measures large input data performance.

criterion is configured as a dev dependency with the html_reports feature for detailed HTML reports in target/criterion/.

Looks great. Could you also implement these points?

[ ] run benchmark during our GitHub Actions pipeline
[ ] increase data sizes for hash benchmark
[ ] add "fixed path on filesystem" case for hash benchmark
e.g. tests/lena.jpg can be used, anyone will be able to replace it locally to run benchmark on a huge file
[ ] add index construction benchmark
[ ] add "fixed path on filesystem" case for index benchmark
e.g. tests folder, which could be filled with diverse data locally

I've set up benchmarks to run automatically on every pull request to the main branch using boa-dev/criterion-compare-action.
This configuration runs benchmarks on both the pull request branch and the main branch, and then posts the results as a comment on the pull request. You can see an example of how it looks when merged in the following link: Example

Can we catch benchmarks errors, too? It's not critical but would be nice.
E.g. I modify the path to something on my filesystem:
[kirill@lenovo arklib]$ git diff benches/index_build_benchmark.rs
diff --git a/benches/index_build_benchmark.rs b/benches/index_build_benchmark.rs
index f3fd97b..8df6959 100644
--- a/benches/index_build_benchmark.rs
+++ b/benches/index_build_benchmark.rs
@@ -2,7 +2,7 @@ use arklib::index::ResourceIndex;
 use criterion::{black_box, criterion_group, criterion_main, Criterion};

 fn index_build_benchmark(c: &mut Criterion) {
-    let path = "tests/"; // Set the path to the directory containing the resources
+    let path = "/mnt/data/tests"; // Set the path to the directory containing the resources

     c.bench_function("index_build", move |b| {
         b.iter(|| {

But it doesn't exist:
[kirill@lenovo arklib]$ ls /mnt/data/tests
ls: cannot access '/mnt/data/tests': No such file or directory

Right now, the benchmark just passes quickly:
[kirill@lenovo arklib]$ RUST_LOG=debug cargo bench index_build
    Finished bench [optimized] target(s) in 0.25s
     Running benches/compute_bytes_benchmark.rs (target/release/deps/compute_bytes_benchmark-1ca61f88413531a5)
Gnuplot not found, using plotters backend
     Running benches/index_build_benchmark.rs (target/release/deps/index_build_benchmark-3021d4b85891b6cc)
Gnuplot not found, using plotters backend
index_build             time:   [33.091 µs 33.677 µs 34.275 µs]
                        change: [-6.2644% -3.3005% -0.2257%] (p = 0.04 < 0.05)
                        Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) low mild
  4 (4.00%) high mild

It's kinda expected, but if we can catch this error, it would be great.


Release 1.8.0

v1.8.0 is scheduled for release on May 14th, 2019
The following list of features was frozen (API freeze) on Apr 12th, 2019

[x] IDL 4.2 [#460, #464]
[x] Deadline QoS [#446]
[x] Lifespan QoS [#459]
[x] Disable positive ACKs [#477, #508]
[x] TLS support (secure sockets on TCP transport) [#410]
[x] Realtime improvements

[x] Preallocation (design in #344)

[x] Fixed size strings [#361]
[x] Fixed size bitmaps [#370]
[x] Removing ParameterList_t [#379]
[x] Resource limited vector [#386]
[x] Matched readers allocation QoS on WriterAttributes [#406]
[x] Allocation QoS [#479]

[x] Matched writers allocation QoS on ReaderAttributes [#436]
[x] Allocation QoS on RTPSParticipantAttributes

[x] Remote locators management [#462]
[x] Total number of participants, readers and writers QoS [#469]

[x] Best-effort writers write call converted to non-blocking [#426]

[x] API improvements

[x] Configuration parameter for mutation tries [#467]
[x] Duration parameters using nanoseconds [#488]
[x] Well-known port calculation on endpoint custom locators [#475]
[x] Filter non-local addresses on whitelist [#476]
[x] Manual liveliness API (implementation pending for a patch release) [#487]

Other improvements and bugfixes:

[x] Making lossy tests deterministic [#481]
[x] ReaderProxy history reloaded incorrectly missing GAP message [#453, #502]
[x] Optimize StatefulWriter.check_acked_status [#445 => #515]
[x] RTPS Domain hostid part of the GUID match first interface IP [#458]
[x] Windows: No need to expose linked libs when the target is a shared lib [#448]
[x] Limitation on the Domain ID [#496]
[x] Fix for #457 [#505]

Final PR #518

Allocatio QoS didn't make it to the release. It still has some failing tests.


Plan construction failed when installing IHaskell

HOME=/mnt/myth/john/projects/jupyter/haskell/stack stack --stack-root /mnt/myth/john/projects/jupyter/haskell/stack --no-system-ghc --jobs 8 --color auto --verbosity debug install ihaskell
Version 1.4.0, Git revision e714f1dd3fade19496d91bd6a017e435a96a6bcd (4640 commits) x86_64 hpack-0.17.0

...
2017-05-14 07:52:55.921356: [debug] Constructing the build plan
@(Stack/Build/ConstructPlan.hs:158:5)
2017-05-14 07:52:56.017975: [error]
Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for ihaskell-<IP_ADDRESS>:
    aeson-<IP_ADDRESS> must match >=0.7 && <0.12 (latest applicable is <IP_ADDRESS>)
    base-<IP_ADDRESS> must match >=4.6 && <4.9 (latest applicable is <IP_ADDRESS>)
    bin-package-db must match -any, but the stack configuration has no specified version
    ghc-parser must match >=0.1.7, but the stack configuration has no specified version (latest applicable is <IP_ADDRESS>)
    haskell-src-exts-1.18.2 must match >=1.16 && <1.18 (latest applicable is 1.17.1)
    http-client-<IP_ADDRESS> must match ==0.4.* (latest applicable is <IP_ADDRESS>)
    http-client-tls-<IP_ADDRESS> must match ==0.2.* (latest applicable is <IP_ADDRESS>)
    ipython-kernel must match >=0.7, but the stack configuration has no specified version (latest applicable is <IP_ADDRESS>)

Recommended action: try adding the following to your extra-deps in /mnt/myth/john/projects/jupyter/haskell/downloads/stack-1.4.0-linux-x86_64/global-project/stack.yaml:
- ghc-parser-<IP_ADDRESS>
- ipython-kernel-<IP_ADDRESS>

You may also want to try the 'stack solver' command
@(Stack/Build/ConstructPlan.hs:197:13)
Plan construction failed.

How do I fix this?  Invoking the solver simply gave me a different error message I didn't understand.
Please let me know if this is not the appropriate place for this question and I should take this up somewhere else. I'm totally new to Haskell and wanted to do exercises in the notebook.

Hey @marmalodak, IHaskell doesn't support GHC 8 yet. We're working on this but in the meantime you might want to take a look at this fork: https://github.com/abarbu/IHaskell

Thank you very much for helping.
What do I have to do in my configuration so that I install a supported
version of GHC?
On Sun, May 14, 2017 at 6:32 PM, Vaibhav Sagar<EMAIL_ADDRESS>wrote:

Hey @marmalodak https://github.com/marmalodak, IHaskell doesn't support
GHC 8 yet. We're working on this but in the meantime you might want to take
a look at this fork: https://github.com/abarbu/IHaskell
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gibiansky/IHaskell/issues/717#issuecomment-301355886,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWRW0PuOlQlSFMIdDgcn-soVzknYsMKks5r56scgaJpZM4Nac8R
.

The problem is with IHaskell, not your configuration, but if you're set on installing IHaskell with stack, try stack install ihaskell --resolver lts-6

Hi @marmalodak, can you try again with the latest master?

This seems to work. Is there anything specific in my notebook to try to show that it works to your satisfaction?

Your confirmation is enough 😄. Closing this.


Folder name is different in doc from the original folder name in js/angular-ui/

Folder name is different in doc from the original folder name in
change js/angular-ui-router/  to  js/angular-ui/
Thanks

thanks


Fix clippy error

Codecov Report
Patch has no changes to coverable lines.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files Changed
Coverage

src/connection.rs
ø

src/ingest.rs
ø

:loudspeaker: Thoughts on this report? Let us know!.


Add NOISE_MODEL_LIKE

A cirq.NOISE_MODEL_LIKE is a cirq.NoiseModel, None, or a single-qubit gate
Methods that took cirq.NoiseModel now take cirq.NOISE_MODEL_LIKE
None is auto-converted into cirq.NO_NOISE
Single qubit gates auto-converted into cirq.ConstantQubitNoiseModel
cirq.ConstantQubitNoiseModel now puts operations before the moment contents instead of after (fixing an issue where it made terminal measurements not terminal)

For example, you can now say: cirq.sample(circuit, noise=cirq.depolarize(0.01))
Part of https://github.com/quantumlib/Cirq/issues/2176

Does switching the order change simulation results?

Yes, it can change simulation results. For example, for the circuit "X then measure", it means there is two hits of depolarizing noise instead of one before the measurement.

I'd consider this a [BREAKING CHANGE] and a particularly insidious one at that. Numerical studies will silently start giving different results when re-run on a newer cirq

I've reverted the ordering change. Now only contains the generalization of things accepted as noise.

Automerge cancelled: A status check is failing.

Automerge cancelled: A status check is failing.


Console output empty

Thank you for your addition to Visual Studio Code. It makes life a bit better :) The only 'issue' I have is that my console output remains empty even when commands have been executed successfully.
Is there a way I can provide debugging info for you?

I know this is an old issue, but since there aren't any comments my experience may help. I was able to find error logs for this extension by switching to the "Log (Window)" channel in the Output panel.


Avoid infinite loop in syncChildren().

This was a typo in #1062.
Also, some minor code cleanup and expose (in the app dump) the
_disqualifiedFromEverAppearingAgain boolean for debugging purposes.

LGTM