Starting next wave early does not transition to "Wave N in progress" state

Was broken by 25041f4270fd9c26ed7cc99b248a3b50e4644386
Expected behavior:

At the start of the game press "Start next wave"
Wave status changes to "Wave 1 in progress"

Actual behavior:

At the start of the game press "Start next wave"
Wave status changes to "Wave 2 in 0:15"

Closed by 63d8a43


DB2 Specifying Schema not Working

I'm trying to use activejdbc for accessing a DB2 db in tests, but it gives me:
org.javalite.activejdbc.DBException: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=_DBUSERNAME_._TABLE_, DRIVER=3.63.75, query: SELECT * FROM _TABLE_ WHERE _COLUMN_ = _value_
        at org.javalite.activejdbc.DB.find(DB.java:529)         ....
I guess this is from the fact that the schema is not specified, because if I run the query as is it gives me the same error, but if I prefix the table with the schema it works.
I tried to set the schema as mentioned here but same result.
Thanks.
UPDATE: it works with the workaround specified on issue:
@Table("**schemaname**.tablename")
but would be nice to make the schema implicit.

@thelaurg this is probably related to the settings of your database. I'm not that proficient with DB2 though. Seems that this workaround is a small price to pay though...

Hi @thelaurg, have you tried using the argument currentSchema in your jdbc.url:
jdbc:db2://<HOST>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;

source: https://stackoverflow.com/a/10881260

@thelaurg are you still interested in this? If not, I will close this issue.

Hi Igor,
I think I can live with the workaround:
@Table("SCHEMA.A_TABLE")
public class ATable extends Model {
}

Also @jfcabral's solution is a good one, especially if you are dealing with a single schema.
You might close the issue.
Thank you!

@thelaurg :+1:


[Win] Move installation logic  to VS project

Third party installer should perform minimal actions: register package and form uninstall string. So  moving  all logic to VS project - on "preinstall" form (installation type - RH, MH, client only). prevent installation if one is installed

Passing parameter string to form:
"params=deploy-redist,prepare-vbox,dev,prepare-rh,deploy-p2p network-installation=true kurjunUrl=https://cdn.subut.ai:8338 repo_descriptor=repomd5-dev"
and form receives parameter  "kurjunUrl=https://kurjun.cdn.subutai.io:8338" instead of original

Run application after installer closed (Visual Studio installer does not need to wait when application finishes).
Command sudo subutai management_network detect changed to sudo subutai info ipaddr
Uninstall program copied to log directory.


Fixed Open Issue #44

Brief Description of Fix
Added Rupay & Union Pay Regex , Also Fixed Dinners Club Regex
Linked Issue
Closes #44

i would need the source of the regex you have give and also check their validity once , thank you

i would need the source of the regex you have give and also check their validity once , thank you

https://gist.github.com/michaelkeevildown/9096cd3aac9029c4e6e05588448a8841

@ArnavKumar7 @NavinShrinivas  Please Check

!bounty 25


Add a comma to separate the options hash

If this is left as it is, it may confuse individuals who just copy-and-paste the examples provided.

Thanks


🐛 ci_beta flow: No longer able to pass version to install

Something like cci flow run ci_beta --org beta -o install_managed_beta__version "1.2 (Beta 11)" installs the latest_beta instead. Extra fireworks if you don't have a Github service.
I suspect this was introduced in beta98 with nested flows (ci_beta adopted a install_beta child flow). I can not find anywhere (btw, what happened to the readthedocs updates?) how does option-passing happen in such a context (a parent flow can have two child flows who use the same tasks, so who would adopt the passed params?).

Hi @e02d96ec16 - thanks for the report. I can confirm that passing options to sub-flows isn't working. The syntax should be the same, but it doesn't work right now. I'll take a look today.
I haven't been able to update the online docs with the latest release yet, hopefully we can automate that soon. But I'll hopefully get them built in the next day...

Yeah, I actually wanted to contribute to the documentation a while back, but I had no idea how to get it built. Only managed to extract the code documentation, but this template (hope it's not sphinx itself) doesn't really know how to show things like task_options nicely 😞.


Add Java tests to Appveyor

Fixes #42.
Changes proposed in this pull request:

Add java tests on Appveyor
Fix Java test failure related to OS specific line endings
Add documentation on using virtualenv and gradle test
Improve Travis script to run all commands from the repo root

@anz-bank/sysl-developers

@anzdaddy I've updated this PR with all requested changed, sorry for the sloppy typing.
@sahejsingh, @anzdaddy I've removed the string comparison for the JSON-java-serialisation tests and used object comparison and built-in JSON serialising only according to @anzdaddy 's comment. I seem to remember @sahejsingh that you did not like this idea in the first place so maybe you can work it out with @anzdaddy if this is the right approach?

Ok, I'm merging this - if you are unhappy @sahejsingh, let me know and we'll work out something that everyone agrees with.


Feature Request: A way to test the notification feature

I would like the ability to test the notification function, my docker container works great, it gets the free games, I have never seen a captcha yet, neither hand buying the games nor automatically. But I would like the peace of mind that the notification works.

Alright, I added a config option called testNotifiers that should cover this.
Here's the docs for it: https://github.com/claabs/epicgames-freegames-node#testing-notification-and-webserver


create package: time

Need a package that will allow getting time stamps and calculating time deltas.
The ability to change units of time easily is required
Idea example:
[var start[time.stamp]]
; Some time intensive operation
[var end[time.stamp]]

[var delta [- end start]]

[putln [time.to_seconds delta]]

The resulting package doesn't need to look exactly like the example - Its just an idea

hey @bosley  , so if you are asking for suggestion then you can use the chrono library used in c++ This will help you maintain language similarity

Thanks for the suggestion, I agree that chrono should be used on the c++ side of this package.

https://github.com/bosley/sauros/pull/43


ref: updated Azure env vars in remote cmds

Per #2376

Oops looks like a recent PR broke some links (checks are failing here but it comes from master). Fixing in #2391.

Oops, accidental request for re-review @shcheklein. Let's wait for an answer for https://github.com/iterative/dvc.org/pull/2390#pullrequestreview-638192264. Thanks

p.s. @isidentical WDYT about the whole PR, please approve if you 👍 it.

@shcheklein should we merge? There's another update I'd like to make to this topic but don't want to overcomplicate this PR 🙂

@jorgeorpinel sounds good. Let's create a ticket though to address the dvc remote add ... I'm not sure we communicate properly defaults, available options, etc


⚠ Bofrost.be has degraded performance

In 8b9c3b7, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1153 ms

Resolved: Bofrost.be performance has improved in a2b73c5 after 6 minutes.


Metric Server fails after upgrade to 1.11 Kubernetes

Metric server fails with the following:
I0710 16:24:57.466308       1 reststorage.go:140] No metrics for container gspc-container in pod gs-gwis-billing/gspc-w2qw5
I0710 16:24:57.466312       1 reststorage.go:93] No metrics for pod gs-gwis-billing/gspc-w2qw5
I0710 16:24:57.466319       1 reststorage.go:140] No metrics for container calico-node in pod kube-system/canal-cc424
I0710 16:24:57.466324       1 reststorage.go:93] No metrics for pod kube-system/canal-cc424
I0710 16:24:57.466331       1 reststorage.go:140] No metrics for container vault in pod vault/vault-poc-5ffbc7b9fd-tq6nw
I0710 16:24:57.466336       1 reststorage.go:93] No metrics for pod vault/vault-poc-5ffbc7b9fd-tq6nw
I0710 16:24:57.466342       1 reststorage.go:140] No metrics for container kube-scheduler in pod kube-system/kube-scheduler-sbkube1.seibels.com
I0710 16:24:57.466347       1 reststorage.go:93] No metrics for pod kube-system/kube-scheduler-sbkube1.seibels.com
I0710 16:24:57.466354       1 reststorage.go:140] No metrics for container gspc-container in pod gs-gwis-dev/gspc-6gwlp
I0710 16:24:57.466360       1 reststorage.go:93] No metrics for pod gs-gwis-dev/gspc-6gwlp
I0710 16:24:57.466367       1 reststorage.go:140] No metrics for container gs-gw-bc-container in pod gs-gwis-dev/gs-gw-bc-w5d78
I0710 16:24:57.466372       1 reststorage.go:93] No metrics for pod gs-gwis-dev/gs-gw-bc-w5d78
I0710 16:24:57.466379       1 reststorage.go:140] No metrics for container gs-gw-solr-container in pod gs-gwis-qa/gs-gw-solr-vmfl8
I0710 16:24:57.466384       1 reststorage.go:93] No metrics for pod gs-gwis-qa/gs-gw-solr-vmfl8
I0710 16:24:57.466390       1 reststorage.go:140] No metrics for container dms-gateway-container in pod middleware/dms-gateway-bm8zg
I0710 16:24:57.466395       1 reststorage.go:93] No metrics for pod middleware/dms-gateway-bm8zg
I0710 16:24:57.466402       1 reststorage.go:140] No metrics for container kube-flannel in pod kube-system/kube-flannel-ds-khg46
I0710 16:24:57.466407       1 reststorage.go:93] No metrics for pod kube-system/kube-flannel-ds-khg46
I0710 16:24:57.466414       1 reststorage.go:140] No metrics for container calico-node in pod kube-system/canal-gzfhc
I0710 16:24:57.466418       1 reststorage.go:93] No metrics for pod kube-system/canal-gzfhc
I0710 16:24:57.466425       1 reststorage.go:140] No metrics for container agent in pod cattle-system/cattle-node-agent-26qnv
I0710 16:24:57.466430       1 reststorage.go:93] No metrics for pod cattle-system/cattle-node-agent-26qnv
I0710 16:24:57.466437       1 reststorage.go:140] No metrics for container kube-proxy in pod kube-system/kube-proxy-7hmfg
I0710 16:24:57.466441       1 reststorage.go:93] No metrics for pod kube-system/kube-proxy-7hmfg
I0710 16:24:57.466448       1 reststorage.go:140] No metrics for container gs-gw-ab-container in pod gs-gwis-trans/gs-gw-ab-xk75z
I0710 16:24:57.466453       1 reststorage.go:93] No metrics for pod gs-gwis-trans/gs-gw-ab-xk75z
I0710 16:24:57.466460       1 reststorage.go:140] No metrics for container agent in pod cattle-system/cattle-node-agent-8xqnm
I0710 16:24:57.466465       1 reststorage.go:93] No metrics for pod cattle-system/cattle-node-agent-8xqnm
I0710 16:24:57.466472       1 reststorage.go:140] No metrics for container expectedreceiptsservicerest-container in pod middleware/expectedreceiptsservicerest-d7rn8
I0710 16:24:57.466476       1 reststorage.go:93] No metrics for pod middleware/expectedreceiptsservicerest-d7rn8
I0710 16:24:57.466483       1 reststorage.go:140] No metrics for container ivansrest-container in pod middleware/ivansrest-7tbz4
I0710 16:24:57.466488       1 reststorage.go:93] No metrics for pod middleware/ivansrest-7tbz4
I0710 16:24:57.466495       1 reststorage.go:140] No metrics for container gs-gw-ab-container in pod gs-gwis-billing/gs-gw-ab-58k59
I0710 16:24:57.466499       1 reststorage.go:93] No metrics for pod gs-gwis-billing/gs-gw-ab-58k59
I0710 16:24:57.466506       1 reststorage.go:140] No metrics for container documentdistributionprint-container in pod middleware/documentdistributionprint-bmrnq
I0710 16:24:57.466511       1 reststorage.go:93] No metrics for pod middleware/documentdistributionprint-bmrnq

From the api server:
I0710 16:28:07.229465       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55948: EOF
I0710 16:28:07.236261       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:56664: EOF
I0710 16:28:07.238432       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55920: EOF
I0710 16:28:07.243263       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55916: EOF
I0710 16:28:07.246714       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:56666: EOF
I0710 16:28:07.250063       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55918: EOF
I0710 16:28:07.254550       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55972: EOF
I0710 16:28:07.257953       1 logs.go:49] http: TLS handshake error from <IP_ADDRESS>:55978: EOF
I0710 16:28:07.260979       1 cache.go:39] Caches are synced for APIServiceRegistrationController controller
I0710 16:28:07.269958       1 cache.go:39] Caches are synced for autoregister controller
I0710 16:28:07.277872       1 controller_utils.go:1032] Caches are synced for crd-autoregister controller
I0710 16:28:07.361110       1 cache.go:39] Caches are synced for AvailableConditionController controller
I0710 16:28:08.072180       1 controller.go:597] quota admission added evaluator for: { endpoints}
I0710 16:28:08.073684       1 controller.go:597] quota admission added evaluator for: {networking.k8s.io networkpolicies}
E0710 16:28:08.105884       1 memcache.go:147] couldn't get resource list for metrics.k8s.io/v1beta1: the server could not find the requested resource
I0710 16:28:08.118397       1 trace.go:76] Trace[11757075]: "GuaranteedUpdate etcd3: *networking.NetworkPolicy" (started: 2018-07-10 16:28:07.359314353 +0000 UTC m=+8.565158317) (total time: 759.047518ms):
Trace[11757075]: [714.45934ms] [714.41825ms] Transaction prepared
I0710 16:28:08.118482       1 trace.go:76] Trace[1689908427]: "Update /apis/networking.k8s.io/v1/namespaces/default/networkpolicies/hn-nodes" (started: 2018-07-10 16:28:07.359215531 +0000 UTC m=+8.565059492) (total time: 759.253273ms):
Trace[1689908427]: [759.199311ms] [759.124123ms] Object stored in database
I0710 16:28:08.118810       1 trace.go:76] Trace[1490252080]: "GuaranteedUpdate etcd3: *apiregistration.APIService" (started: 2018-07-10 16:28:07.364569009 +0000 UTC m=+8.570412976) (total time: 754.220503ms):
Trace[1490252080]: [754.220503ms] [754.177236ms] END
I0710 16:28:08.118907       1 trace.go:76] Trace[2003233303]: "Update /apis/apiregistration.k8s.io/v1/apiservices/v1beta1.apiextensions.k8s.io/status" (started: 2018-07-10 16:28:07.364484962 +0000 UTC m=+8.570328926) (total time: 754.402905ms):
Trace[2003233303]: [754.342493ms] [754.287099ms] Object stored in database
I0710 16:28:08.119175       1 trace.go:76] Trace[1548325437]: "GuaranteedUpdate etcd3: *apiregistration.APIService" (started: 2018-07-10 16:28:07.364781914 +0000 UTC m=+8.570625881) (total time: 754.372808ms):
Trace[1548325437]: [754.372808ms] [754.333739ms] END
I0710 16:28:08.119270       1 trace.go:76] Trace[1758115886]: "Update /apis/apiregistration.k8s.io/v1/apiservices/v2beta1.autoscaling/status" (started: 2018-07-10 16:28:07.364277356 +0000 UTC m=+8.570121317) (total time: 754.976642ms):
Trace[1758115886]: [754.918188ms] [754.429542ms] Object stored in database
I0710 16:28:08.119466       1 trace.go:76] Trace[1055875837]: "GuaranteedUpdate etcd3: *apiregistration.APIService" (started: 2018-07-10 16:28:07.364895528 +0000 UTC m=+8.570739492) (total time: 754.556988ms):
Trace[1055875837]: [754.556988ms] [754.497152ms] END
I0710 16:28:08.119531       1 trace.go:76] Trace[701683403]: "Update /apis/apiregistration.k8s.io/v1/apiservices/v1.crd.projectcalico.org/status" (started: 2018-07-10 16:28:07.36435535 +0000 UTC m=+8.570199324) (total time: 755.162923ms):
Trace[701683403]: [755.124462ms] [754.597851ms] Object stored in database
I0710 16:28:08.119712       1 trace.go:76] Trace[1540507123]: "GuaranteedUpdate etcd3: *apiregistration.APIService" (started: 2018-07-10 16:28:07.365026731 +0000 UTC m=+8.570870698) (total time: 754.668911ms):
Trace[1540507123]: [754.668911ms] [754.615411ms] END
I0710 16:28:08.119778       1 trace.go:76] Trace[430738884]: "Update /apis/apiregistration.k8s.io/v1/apiservices/v1beta1.policy/status" (started: 2018-07-10 16:28:07.364426595 +0000 UTC m=+8.570270565) (total time: 755.338511ms):
Trace[430738884]: [755.299841ms] [754.712913ms] Object stored in database
I0710 16:28:08.120018       1 trace.go:76] Trace[1077424960]: "GuaranteedUpdate etcd3: *apiregistration.APIService" (started: 2018-07-10 16:28:07.364087336 +0000 UTC m=+8.569931302) (total time: 755.916824ms):
Trace[1077424960]: [755.916824ms] [755.862579ms] END
I0710 16:28:08.120099       1 trace.go:76] Trace[1596820340]: "Update /apis/apiregistration.k8s.io/v1/apiservices/v1beta2.apps/status" (started: 2018-07-10 16:28:07.36392934 +0000 UTC m=+8.569773301) (total time: 756.15698ms):
Trace[1596820340]: [756.102533ms] [755.990952ms] Object stored in database

Please see if you're having the same issue as #77

OK, i got it running but see nothing in the ui. I've added

--heapster-host=http://heapster.kube-system.svc.cluster.local

to the deployment and still nothing
On Fri, Jul 13, 2018 at 4:50 PM Solly Ross<EMAIL_ADDRESS>wrote:

Please see if you're having the same issue as #77
https://github.com/kubernetes-incubator/metrics-server/issues/77
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-incubator/metrics-server/issues/84#issuecomment-404950540,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AlLrYXTWO7op1texVSXN17fUCRJWb-Rsks5uGQgygaJpZM4VJuyq
.

I'm not sure the UI is able to use metrics-server.  At any rate, if metrics-server itself is working, then I'd recommend taking any UI issues up with the dashboard folks.

closing issue as per the above answer.


index.hml file content

       Hello,

Can somebody share the index.html file code that we have upload in S3 bucket?
Thanks,

Hi Monica, you can find the code through the following link:
https://aws.amazon.com/getting-started/hands-on/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/module-1/
Once you follow those instructions, you can clone a local copy and access the index.html file through there. Hope this helps!
Ryan


Jonmv/add missing test job type

@freva please review and merge.

Nothing against this PR - but shouldn't this be calculated from the ZoneEnum instead of explicitly being encoded?

Yes, we should change this now.


[PFTO] Complement model opset imports from graph nodes'

rel: #560
If graph node has custom domain, the model also has to have the domain.

/test


Add getCurrentTimeNanoseconds wrapper.

Signed-off-by: John Plevyak<EMAIL_ADDRESS>For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

@mandarjog


Use a common JavaScript parser and compiler configuration

Changes like https://github.com/Polymer/polyserve/pull/238 currently have to be done across polyserve, Analyzer and polymer-build. We should have a single configuration of Babylon and Babel across all the tools.

https://github.com/Polymer/tools/issues/2528 is closed (but not fixed) and references this issue.
What's the status on rest/spread support?


Is there a way to load local image with only file path string in WebGL?

I am going to load local image files in web GL.
I use file path string without open dialog.
Is it possible with your code?
what does it means? What is the parameter of "UploadFile" method?
[DllImport("__Internal")] private static extern void UploadFile(string id); public void OnPointerDown(PointerEventData eventData) { 	UploadFile(gameObject.name); }

Yes it can be, see live demo
UploadFile is the js extension method and uses UnitySendMessage to communicate with C# code.
Parameter is the name of gameobject and plugin calls that gameobject's "OnFileUploaded" method with a url. ( OnFileUploaded is hardcoded into js extension but you can change -or parameterize- it if you want)


format-all make org export html coding error

emacs -q and mini configuration as below
(add-to-list 'load-path "~/.emacs.d/packages/format-all/")
(add-to-list 'load-path "~/.emacs.d/packages/inheritenv")
(add-to-list 'load-path "~/.emacs.d/packages/language-id")
(require 'format-all)
(add-hook 'prog-mode-hook 'format-all-mode)
(add-hook 'format-all-mode-hook 'format-all-ensure-formatter)

open a  file such as foo.org and write some Chinese character as below
测试

Then, C-c C-e h o export org file to html , open the html file with browser and it display as below:

If just emacs -q and export foo.org to foo.html without mini configuration related to format-all, the foo.html displayed well.

I can also reproduce this bug.
Currently, if you install tidy (the default formatter for html), then the Chinese characters display normally, but the style is broken (compare to original org-export)
Can we ignore the org-exported files by default?

Is HTML Tidy messing up the file?
Can you try M-x customize-variable format-all-debug and turn on debug mode? Then format-all will write information into the *Messages* buffer every time it runs a formatter.
I don't know why the org-mode exporter switches its output buffer to html-mode and runs the on-save hook. Seems oddly designed; these should be reserved for interactive use.

Do it with format-all-debug on , the message buffer contents as below:
Using default formatter prettier [2 times]
Using default formatter html-tidy [2 times]
Saving file /Users/jousimies/123.html...
Format-All: Formatting 123.html as HTML using html-tidy
Format-All: Running: /usr/bin/tidy -q --tidy-mark no -indent
Format-All: Directory: /Users/jousimies/
Reformatted!
Wrote /Users/jousimies/123.html
Running open /Users/jousimies/123.html...done

I guess org-mode isn't writing a charset declaration into the HTML file, and Tidy assumes the wrong charset.
I don't know what could cause the style to be corrupted.
Anyway if I've understood the design of Emacs correctly, an internal process like org-mode's HTML writer should not write files using the user interface commands that run hooks and such. Instead, it should use a simple library function like write-region.  Currently org-publish-org-to is happily using UI commands such as find-file.
The quick fix is to write a custom function for prog-mode-hook that only enables format-all-mode when there is no existing .org file beside the file being edited. Something like this (not tested):
(add-hook
 'prog-mode-hook
 (lambda ()
   (unless (and (buffer-file-name)
                (file-exists-p
                 (concat (file-name-sans-extension (buffer-file-name))
                         ".org")))
     (format-all-mode))))

The long-term fix should be made to org-mode. Either rewrite the exporter not to use find-file and such, or add an official function like org-export-buffer-p that other packages can check.

As running through exporting one file org, in which it has one Chinese character in Emacs 27.2 in the container of the docker ,but without installing the tidy. it broke in the temp file created in the working folder. When I open this temp file, the content section is displayed as <p>\345\273\226 </p>.   it can be displayed normally in some case , some case can not be. Like in VM host that docker container, it can be displayed normally in Emacs in the VM, but in the container of the docker it is displayed as ?? in Emacs. The temp html file has the character set uft8 in the meta section.
I checked org export reference. sound like the export functions in org-mode is back ground job. For checking the org-export-buffer-p is kind of hard for them. My idea is opposite, before the function org-export-buffer-p in the user site is enough.

sound like the export functions in org-mode is back ground job. For checking the org-export-buffer-p is kind of hard for them.

sound like the export functions in org-mode is back ground job. For checking the org-export-buffer-p is kind of hard for them.

It would not be hard for org-mode to do. Something like this (pseudo code):
(defvar-local org-export-buffer-p nil)

(defun org-publish-org-to (...)
  (with-current-buffer (get-or-create-export-buffer ...)
    (setq-local org-export-buffer-p t)
    ...)))

Back-end job mostly like everything run in that --batch mode. And also it is for all kind of the format (like .md, .html .tex),
if set org-export-buffer-p f,it will block all formats, which user is exporting to. I mean if it has this option, which should be alist for the user to customize.Maybe we can add this kind information of customer alist to ext-plist in the function org-export-to-file as the input for the exporting following process. I am thinking that if format-all is a local variable.


[FEATURE] Adding the events section

Description
I want to add Event Section in the website.
My suggestion:

Expected Behaviour
No response
Current Behaviour
No response
Additional information
No response

@Arjun31415 @FidalMathew
Kindly assign me the issue


Docker dev setup fails

npm-debug.log
Attached is the error i get when trying to run the docker setup instructions. I used the Docker Desktop to launch the application to the the Docker file not appearing to mount the app folder like the instructions said, that was another error about it failing to find a package.json file.

I encountered a similar issue,
I swapped
FROM node:4
to
FROM node:8
and also added
RUN npm update
to the DockerFile to resolve this issue.


BUG: Arc<GraphClient> which is not Send

Describe the bug
Arc<GraphClient> is no longer Send.
Because of
the trait `std::marker::Sync` is not implemented for
  `dyn CloneService<Request, Error = Box<dyn Error + Send + Sync>, Future = Pin<Box<dyn Future<Output = Result<Response, Box<dyn Error + Send + Sync>>> + Send>>, Response = Response> + Send`,
which is required by ...

This comes from #469  adding
pub(crate) service: BoxCloneService<Request, Response, Box<dyn std::error::Error + Send + Sync>>,

see line changes.

Thanks for reporting this. There might have to be some changes to how the tower service is being stored here. I looked at this a little bit and tried just wrapping the BoxCloneService in an Arc<Mutex<..>> but that causes some ownership problems with the RequestHandler.
Possibly the best thing is to only store the configuration for the tower service and move the actual service setup to RequestHanlder which would make GraphClient sync again. I'll have to look into this more.


Housekeeping: ensure component governance passes

It does, running in CI and nightly builds, addressed all notifications.


Update open-a-pr.md

Improved the step 1 for opening a PR using GitHub, by more accurately pointing the location of the 'Edit this page' option.
This is to fix the issue: https://github.com/kubernetes/website/issues/38650

/cc @jimangel @shannonxtreme

The existing content is partially right and would benefit from updation. The pencil icon is located at the bottom right if you scroll down to the end of of the page. There is also an edit this page option in the Right hand navigation panel. I'd make the changes to reflect the current condition accurately.

The pencil icon at the bottom of the page actually redirects to the contributors guide, and not the edit page option. So, should I add the reference to the contributors guide as well?

My bad, I assumed the contribute at the bottom served the same purpose.
/lgtm

Dismissed previous review.

/assign @divya-mohan0209

/assign @divya-mohan0209

/retitle Fix advice about opening a pull request


Added package feature

This PR contains the new package feature. With this feature we can create deploy package for the APIs. It uses the zfdeploy tool.

I don't know why it is failing on Travis with PHP 5.3 and 5.4. I used the @depends feature of phpunit and this seems to be the problem. With PHP 5.5 and 5.6 it works fine.

It seems to be because of https://github.com/ezimuel/zf-apigility-admin/blob/feature/package/src/Controller/PackageController.php#L87 : you cannot use 'empty' with a returned value of a function in PHP < 5.5

@jguittard thanks, I miss that stupid empty() usage :( Fixed now.


Huge JSON

setItem serializes passed value to JSON string. Also afterwards getItem use JSON.parse to de-serialize value back.
In cases when page size is big, say, 1-2 Megabytes this has significant effect on performance. JSON.parse cause high CPU load and it's event blocking (so server stop doing other stuff like accept incoming requests)
As possible solution is use two records one for page itself other for meta (statusCodes, headers)
page content may by stored by using getItemRaw/setItemRaw which don't do serialization to JSON.
Also is possible to use single record but avoid usage JSON parse and implement own lightweight serialization, ie store record in next way format: {statusCode: 200, headers: []}<DELIMETER><html>...</html>
and extract small JSON
const delimiterPos = record.indexOf('<DELIMETER>')
const meta = JSON.parse(record.substr(0,delimiterPos))
const data = record.substr(delimiterPos)

So we may avoid parsing huge JSONs

Thank you for this suggestion, this seems to be a new feature in unstorage, or at least it wasn't present when I released the first Nuxt 3 version. For the route cache it indeed makes absolute sense, as well as component cache. For the data cache, I think it also makes sense, but it would only be used if calling addToCache with a string.

This is implemented in the 3.1.0 release. While setItemRaw is still experimental, it seemed to work as expected. So I think we should be fine.

that's awesome. Thank you!


Addition of K8S dashboard

This issue is a:
[ ] Bug Report
[x] Enhancement suggestion
[ ] Feature request
Enhancement suggestions / feature requests
If you are requesting an enhancement to a feature already present, or a new feature, please outline below the feature you would like to see, and how it would benefit you and the wider Civo Kubernetes userbase:
I have been wondering about the possibility of getting the K8S dashboard installed and running as an extension on the marketplace. It's quite straight forward to install, the only issues is the proxy that is required to access it. I can create the marketplace addon to install the dashboard, but how feasible is it to get the proxy listening on the public IP address or elsewhere?
This link is a good resource regarding the dashboad: https://www.replex.io/blog/how-to-install-access-and-add-heapster-metrics-to-the-kubernetes-dashboard

So rather than the proxy, could you not just use Traefik to create an authenticated ingress route for it? Something like this Prometheus example:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: prometheus-dashboard
 namespace: monitoring
 annotations:
   kubernetes.io/ingress.class: traefik
   traefik.ingress.kubernetes.io/auth-type: "basic"
   traefik.ingress.kubernetes.io/auth-secret: "mysecret"
spec:
 rules:
 - host: dashboard.prometheus.example.com
   http:
     paths:
     - backend:
         serviceName: prometheus
         servicePort: 9090

When our new firewall code goes live, we'll make it easier to firewall off the port, only opening it to IPs you choose, but for now this may work OK. You could use the Customising feature of marketplace apps to set a long random password (say 20-30 chars).

Actually having just seen the article you linked to, by the looks of it, it's already fairly locked down with a long token, so maybe even an unauthenticated one will work. You can use anything you like as the first part of the generated DNS name (wildcard), but I'd need to make a $CIVO:CLUSTER_ID customisation value for you to be able to inject that. I'll do that now...

$CIVO:CLUSTER_ID is now available (and in the docs at https://github.com/civo/kubernetes-marketplace#customising)

Sounds good, I'll take a look at creating that in the next few days.

@andyjeffries will the variables work in an install.sh? It will be easier to install the dashboard using Helm and then enable the ingress it is packaged with: https://hub.helm.sh/charts/stable/kubernetes-dashboard

Yes, variables work just the same in install.sh @morganlaneap


Update all "Change User" headings and texts to "Manage user"

Tasks

Update the "Change user" heading on the Change user page to "Manage User"
Update the "change user" icon text to "manage user on the Settings pages
Update the "Change user" breadcrumb to "Manage User" on the Change user page
Update the "Change user" page names to "Manage User"
[x] Mobile
[x] Desktop

Fixed all states of "change user" to "manage user" - except for the mobile "settings" page as it for now is still missing the text fields in settings, and the icon in the desktop settings and mobile settings is widely different.
Additional comment and suggestion for another task: I noticed while doing so that there's a variation in terms of capital letters for buttons and headings, and their equivelant buttons on the pages beforehand.
On the desktop I did change the "Add students" "Add teachers" etc. buttons in settings to begin with a capital letter for now, but I also see that the "Select User" page has both words beginning with a capital letter, which was originally how I would've put the "Manage User" page as well. For now I did "Manage user" as that seemed to be most commonly used, but would it be an idea to set a standard for how we do this and go over these as well to maintain a nice, clean structure?

@pauiws Please let us know how the QAs want us to style headings, button texts and labels in terms of capitalization

@Mayamariaruth Still waiting for the QAs answer


Moving out of contrib

@ethul - same goes for this one as purescript-contrib/purescript-angular#31

Done


MacOS detecting onPrivilegedAccess

Describe the bug
When running the iOS app in macOS with M1 M2 chipset, the app throws onPrivilegedAccess
We want to keep using the app on macOS, is there any workaround for this?

Hello @Gaurav-CareMonitor ,
we do not actively develop and support RASP for macOS applications. There will be false positives, as macOS naturally contains the files on paths, which are checked. You can ignore this check on macOS.
Kind regards,
Talsec team

Sorry I don't think you got my point,
The app is not macOS app but an iOS app only, which we are running on Mac after downloading from app store.

Hello,
sure, we understand the use case. However, the machine is still Mac, which has the files on expected paths, which are not present on iPhones, but naturally are on macOS. The check itself does not make sense for applications run on Mac.

We will not disclose what exactly is actually checked, but you can find similar detections in OWASP Guidelines:
https://mas.owasp.org/MASTG/0x06j-Testing-Resiliency-Against-Reverse-Engineering/#common-jailbreak-detection-checks
For example, there is /bin/sh or /bin/bash, which is definitely present on Mac.

Got it Thanks

@msikyna can you suggest any way to know if the app is running on mac, when I use device info it shows ipad.

@msikyna Any ideas regarding this? So we can apply check to ignore this usecase while app is running on macOS


Add new contributors to the LICENSE file

Since I started accepting pull requests the repository has gained a couple new contributors.
According to the chosen licence MIT contributors get attributed.

[ ] I am in favour of a PR that adds their full names and/or GitHub nicknames (as<EMAIL_ADDRESS>to the LICENCE file before the next release.

[ ] If that is the way contributors get their attribution, it should get mentioned in a Contributing.md.

[ ] And the repository should get a Pull Request template, asking with what name they would like to get attributed.

Jannis R<EMAIL_ADDRESS>

Resolved in 3dcebfa42e547bf86c945f9e80b06ea4011e0d86.


Documentation: Update the MySQL Hive Metastore configuration docs

After updating the MySQL connector/J JDBC driver version in the Hive
image, we're now seeing problems with running newer versions of Metering
with older MySQL server versions (e.g. 5.6, 5.7). When diving into the
MySQL Pod logs, we may see the "[NOTE] Bad handshake" message logged,
which may indicate we're attempting to authenticate from the client
using TLS 1.2 or TLS 1.3 during the handshake. This is likely because
earlier MySQL server versions only support TLS 1.1 versions and earlier,
so we need to explicitly document this behavior.

/cherry-pick release-4.7


Missing spans for variant fields

Hi,
Following test fails:
#[test]
fn test_spanned_enum() {
    #[derive(Debug, Deserialize)]
    #[serde(tag = "type")]
    enum Foo {
        Bar(Bar),
    }

    #[derive(Debug, Deserialize)]
    struct Bar {
        hello: Spanned<String>,
    }

    let toml = "
        type = 'Bar'
        hello = 'world'
    ";

    let foo: Foo = toml::from_str(toml).unwrap();

    println!("{foo:?}");
}

... saying:
Error { inner: Error { inner: TomlError { message: "invalid type: string \"world\", expected a spanned value", original: None, keys: [], span: None } } }

(ofc. changing Spanned<String> to just String works.)
I think the underlying reason is that using an enum (at least in the way presented above) gets expanded by Serde into a call to deserialize_any(), which later makes this boi:
https://github.com/toml-rs/toml/blob/9e43da13b04601d9115747610753d73852fbf4c9/crates/toml_edit/src/de/value.rs#L55
...  unaware of the "spanned" context it's being invoked on :cry:

I'm not seeing how we could support this.
serde_derive, when deserializing untagged enums and internally tagged enums, buffers into a Content enum.   This buffering loses all context of what we are deserializing into so we don't know we can attempt Spanned.  We can't even retry with spanned on error because the deserializing of Content will be happening later.


Optional userstore "Display Name" marked as mandatory

Describe the issue:
When creating a user store under "User" config there is a mandatory attribute names Display Name. When checking the carbon management console this is an optional attribute. Furthermore having this as a mandatory attribute hinders the UX as its not intuitive what this attribute is for. The old carbon console has the following info against the attribute
"This is the attribute name to display as the display name of the user"

Expected behavior:
Display name should not be mandatory
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS7-beta-6-snapshot

Optional Fields
Related issues:

Suggested labels:

DisplayNameAttribute required property is coming as true

The mandatory check was removed with: https://github.com/wso2/identity-apps/pull/5282

Additionally, the placeholders of these fields are dynamically generated and doesn't make much sense.
Ex: Display Name here is meant for the attribute used for the displayname property of a user in the userstore. But that's not intuitive in the UI.
We need to revamp the placeholders and possibly add hints:
Tracker: @brionmario Create an issue

Since we dynamically populate this UI based on the API response, shouldn't this be fixed from the BE as well?


resolve #6762 on ldconfig only available on root PATH

See Linux man page for ldconfig(8), synopsis section:
/sbin/ldconfig [ -nNvXV ] [ -f conf ] [ -C cache ] [ -r root ] directory ...
/sbin/ldconfig -l [ -v ] library ...
/sbin/ldconfig -p

Former pull request #6848 has been closed as @jowagner has not signed a CLA.

Can one of the admins verify this patch?

This patch may break on some platforms. The FHS states that ldconfig is "usually located in /usr/sbin". The alternative location "/sbin" is described as optional.

openSUSE and Debian: ok (/sbin)

Can someone review this PR? Current master with CUDA still breaks on latest Debian stable.

@tensorflow-jenkins test this please
If this passes all of our tested / supported platforms, it seems okay, but will let Gunhan review when he is free (he is out of the office for a bit though).  Or maybe @caisq  if he feels trongly

@gunan Thanks for your help. I've changed the lines as suggested.

@tensorflow-jenkins test this please

An error message "configure: line xyz: type: ldconfig: not found" is printed on stderr if the command is not found in the line starting with "if ! type ldconfig".
There's a simple solution but as I cannot sign the CLA at this time, I cannot submit it. Hint: 5 characters.
I can confirm, however, that the variable LDCONFIG_BIN is initialised as intended to "/sbin/ldconfig" for my login without ldconfig in PATH.
Tested on openSUSE Leap 42.2.

@jowagner Thanks for the heads up. Not sure why some checks failed though.

Jenkins, test this please.

gpu build passed, so I'm calling this a win.

Jenkins, test this please.

That's my first PR merged into TF! Thank you guys a lot @vrv @gunan @jowagner for your guide and suggestion.
Really remarkable moment to me and I hope I could submit more patches in the future.

Thank you for incrementally coming up with a solution that is substantially different to my CLA-less PR and for taking the time to bring this over the finishing line.


Fix for illegal Cycles USDShadeShader info:id identifiers

Currently Cycles USDShadeShader nodes are identified by the info:id identifier. This is expected to have the prefix cycles: which is, technically a valid TfToken, however is also technically an illegal identifier.
This wasn't causing too many issues yet, however completely broke the Houdini Edit Material LOP node. (And potentially lots of other things).
We will be switching to use the prefix cycles_ instead of cycles:. This change will make it into version 0.8.0.
Our internal Blender USD Export has also received this change. To try and mitigate some of the damage on breaking existing shader networks, support for reading materials with the cycles: prefix is still allowed, however has been marked as deprecated and will be removed in the future.
Sorry for letting this slip through until now!

This has now been merged into master. Cycles shader nodes should now use the cycles_ prefix for info:id.


Update build for intellij community

When I loaded project in latest intellij community addition the
references to javax.servlet weren't getting picked up in the test code
for two sub-projects. I think javax.servlet is marked as provided in the
main dependency list so having the testCompileOnly wasn't necessary and
must have been confusing something.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1fa7671). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #3569   +/-   ##
=========================================
  Coverage          ?   48.32%
  Complexity        ?     4908
=========================================
  Files             ?     1401
  Lines             ?    30341
  Branches          ?     2845
=========================================
  Hits              ?    14663
  Misses            ?    14298
  Partials          ?     1380

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 1fa7671...d99f403. Read the comment docs.


Loader / self contained overlay component

I figure that this is something i need in every single project, but im also too lazy to style/animate/transition on my own everytime. I think it would be nice having useProgress for self made loaders, and simple, readymade Loader as something you can just drop in.
Could someone pls help me with the storybook?

⚡ <Loader/>
A quick and easy loading overlay component that you can drop on top of your canvas. It will show an animated loadingbar and a percentage.
<Canvas>
  <Suspense fallback={null}>
    <AsyncModels />
  </Suspense>
</Canvas>
<Loader />

You can override styles, too.
<Loader
  containerStyles={...container} // Flex laout
  innerStyles={...inner} // inner container
  barStyles={...bar} // the loading bar
  dataStyles={...data} // text
>

This could belong in a ‘prototyping’ category, since its something one would need to remake, since it’s so opinionated (colors, styling, markup, ecc )

Makes sense, prototyping could be nice for pick up components that are light on the design side but that can be used for rough drafts. I could think of a couple. I'll add the category.


Can we loop through a matrix of themes?

If we can loop through a matrix/array of themes. Our actions could be a lot more reusable when a project has multiple themes that have a yarn build process.

This is all set. Fun fact. You can loop through anything in a matrix.


KOGITO-6606 KOGITO-6446 Produce event listener before starting Data I…

…ndex

The (build) kogito-runtimes check has failed. Please check the logs.

The (build) kogito-apps check has failed. Please check the logs.

The (build) kogito-examples check has failed. Please check the logs.

The (build) kogito-apps check has failed. Please check the logs.

Jenkins rerun kogito-examples tests

Jenkins rerun kogito-apps tests

The (build) kogito-examples check has failed. Please check the logs.

Jenkins rerun kogito-examples tests


workflow: migrate to pnpm

Background
#44
This pull request will using pnpm as package manager. we need using corepack

BTW. I think we should set a workflow for pull request?

I modified the workflow but i can't know if this workflow can be work.


Metrics/LineLength auto-correct breaks line in the wrong place

Hi,
I have enabled auto-correction of Metrics/LineLength that was introduced in 0.68. I have also enabled the other recommended cops that were not enabled by default.
Expected behavior
When I run auto-correct, the code should still be valid Ruby code.
Actual behavior
In one instance, a line break was injected in the middle of an integer literal.
I have re-created the issue in a smaller example and this is the diff:
diff --git a/rubocop_line_length.rb b/rubocop_line_length.rb
index c505caa..01762f0 100644
--- a/rubocop_line_length.rb
+++ b/rubocop_line_length.rb
@@ -1,7 +1,9 @@
 class RubocopLineLength
   def breaks_this_incorrectly
     inventory_rows_to_fix = [
-      InventoryRow.new(year: 2019, week: 30, path: 'publisher_group:123;publisher:456;slot_type:midroll', to_book: 21906),
+      InventoryRow.new(year: 2019, week: 3
+0, path: 'publisher_group:123;
+publisher:456;slot_type:midroll', to_book: 21906),
       InventoryRow.new(year: 2019, week: 31, path: 'publisher_group:123;slot_type:preroll', to_book: 1558)
     ]
   end

Steps to reproduce the problem
Create .rubocop.yml:
Metrics/LineLength:
  AutoCorrect: true

Layout/MultilineArrayLineBreaks:
  Enabled: true

Layout/MultilineHashKeyLineBreaks:
  Enabled: true

Layout/MultilineMethodArgumentLineBreaks:
  Enabled: true

Create rubocop_line_length.rb:
class RubocopLineLength
  def breaks_this_incorrectly
    inventory_rows_to_fix = [
      InventoryRow.new(year: 2019, week: 30, path: 'publisher_group:123;publisher:456;slot_type:midroll', to_book: 21906),
      InventoryRow.new(year: 2019, week: 31, path: 'publisher_group:123;slot_type:preroll', to_book: 1558)
    ]
  end
end

Run rubocop --only Layout,Metrics/LineLength --auto-correct rubocop_line_length.rb
RuboCop version
$ rubocop -V
0.76.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.5 x86_64-linux)

That's another off-by-one error in Metrics/LineLength (I recently fixed another one): https://github.com/rubocop-hq/rubocop/compare/master...buehmann:line-length/7477
The example reveals another bug. With the fix above, the cop autocorrects the lines to
      InventoryRow.new(year: 2019, week: 30, path: 'publisher_group:123;
publisher:456;slot_type:midroll', to_book: 21906),
      InventoryRow.new(year: 2019, week: 31, path: 'publisher_group:123;
slot_type:preroll', to_book: 1558)

i.e. it inserts linebreaks into string literal (after the semicolons).

inserts linebreaks into string literal

Here's a fix for that: https://github.com/rubocop-hq/rubocop/pull/7497


backend: Upgrade langchain and fix /langchain-chat endpoint

Thank you for contributing to the Cohere Toolkit!

[ ] PR title: "area: description"

Where "area" is whichever of interface, frontend, model, tools, backend, etc. is being modified. Use "docs: ..."  for CI changes.
Example: "deployment: add Azure model option"

[ ] PR message: Delete this entire checklist and replace with

Description: a description of the change
Issue: the issue # it fixes, if applicable
Dependencies: any dependencies required for this change

[ ] Add tests and docs: Please include testing and documentation for your changes

[ ] Lint and test: Run make lint and make run-tests

AI Description

This PR updates the langchain dependency to version 0.2.14 and its related packages. It also updates the ruff package to version `0.6.0.
Package Updates

langchain is updated to version `0.2.14.
langchain-community is updated to version `0.2.12.
langchain-core is updated to version `0.2.34.
langchain-text-splitters is updated to version `0.2.2.
ruff is updated to version `0.6.0.

Code Changes

Added imports from logger module in langchain.py.
Added error logging in langchain.py when a tool is not found or does not have the to_langchain_tool method implemented.
Updated the error message in chat.py to fix a typo.
Added headers, send timeout, and ping to the langchain_chat_stream function in chat.py.
Updated the comment and logic for extracting content from action.message_log in chat.py.
Updated the comment for the shape of the content variable in chat.py.
Removed the documents field from the StreamToolResult class in chat.py.
Updated the final output logic in chat.py to use the output field directly and removed the unused citations and documents fields.

Codecov Report
Attention: Patch coverage is 15.38462% with 11 lines in your changes missing coverage. Please review.

Project coverage is 75.49%. Comparing base (2e3c971) to head (b438f8a).
Report is 14 commits behind head on main.

Files
Patch %
Lines

src/backend/services/chat.py
0.00%
7 Missing :warning:

src/backend/chat/custom/langchain.py
33.33%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #734      +/-   ##
==========================================
+ Coverage   74.83%   75.49%   +0.65%
==========================================
  Files         261      263       +2
  Lines       11529    11732     +203
==========================================
+ Hits         8628     8857     +229
+ Misses       2901     2875      -26

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

No longer needed


Wide theme variant

Could you please return less compact theme variant and config option? I prefer previous default look and feel

@vapask In the recent update three things got more compact:

tabs
status bar
tree-view

Would you be happy with just more spacious tabs and statusbar? Or would your prefer also a more spacious tree-view?

I want all of this things to be more spacious, but if I should choose, here are things in order of priority: tabs, tree-view, status bar.

Ok, duly noted. Tree-view is super complicated already though, which was my main reason for taking the option out. There are variables in the stylesheets that make it easy to change the spacing, but right now it's impossible to manipulate them from the config. Core Atom team is working on that though, so more flexibility will surely come in the future.
So, anyway, I'll look into a short-term solution. Long-term, this is definitely coming back.

@vapask FYI, theme config via core has been killed, so I'm not waiting for that. I'm currently testing bringing back a "spacious" option, will release tomorrow or the day after.

thank you for your efforts

fixed in https://github.com/braver/isotope-ui/commit/1534b62d09c5af176955bc90d82e9de1be8b0666


Update domains.json (#76)

Update domains.json
Added awake.eth
[ci skip]

Um, what's with the enormous diff?

Sorry, I don't understand the question?
On Mon, Nov 4, 2019 at 3:51 PM Nick Johnson<EMAIL_ADDRESS>wrote:

Um, what's with the enormous diff?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ensdomains/subdomain-registrar/pull/85?email_source=notifications&email_token=ACR77NOT5IMW3YECZBNM5LDQSCRP3A5CNFSM4JH3WC5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDA7YXQ#issuecomment-549583966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACR77NI2P7P2TOU2PIQT6RDQSCRP3ANCNFSM4JH3WC5A
.

--
James McCall | Origination and Servicing | McFinney Agri-Finance, LLC |
Website http://www.mcfinney.farm |  vcard
https://s3-us-west-2.amazonaws.com/vcardsjkm/James++McCall.vcf

This PR changes 2,972 files. Perhaps you're using an outdated branch to base it on?


Crash when try to do pubsubclient.connect() but broker is not available

At the moment the PubSubClient works perfect when everything goes how it should be. Even unplugging the Ethernet cable and replugging it restores the functionality, but...
When I stop the MQTT broker and try to reconnect (in the loop() I check if the connection is lost -> thus reconnect), instead of the expected true or false I should get from the connect() function, it hangs the system and reboots when the WDT is triggered. With the WDT disabled it hangs 'forvever'
I use these simple codes to Initialize and Connect
#ifdef USE_MQTT
  Serial.println("initMQTT");
  MQTTclient.setClient(ethPubSubClient);
  MQTTclient.setServer(MQTTbrokerIP, settingMQTTport);
  MQTTclient.setCallback(callback);
#endif
}
//===========================================================================================
bool connectMQTT()
{
#ifdef USE_MQTT
  Serial.println("doMQTTconnect");
  return MQTTclient.connect(settingMQTTclient, settingMQTTuser, settingMQTTpasswd);
#endif
}

Maybe a shortened but complete example would help ?
By the way, what is "WDT" ?

What does your Loop do? If you have prints, you need to add a little delay to Loop. Otherwise i had some issued in the past.
Call connect is no problem in my case.

Maybe a shortened but complete example would help ?
By the way, what is "WDT" ?

Sorry, WDT is the Watchdog timer which expires and reboots the system when it doen not respond anymore.

I have got a beta version for the NativeEthernet library and now the problem is solved. So it had nothing to do with the PubSubClient and everything with the NativeEthernet library


FIX NO. OF CONTRIBUTOR AND CONTRIBUTION

Updated the stats of NO. OF CONTRIBUTOR AND CONTRIBUTION
Related Issue #1079
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #1079
Description

 #1079
Type of PR

[X] Bug fix

Screenshots / videos (if applicable)

Checklist:

[X] I have made this change from my own.
[X] I have taken help from some online resources.
[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers and screenshots after making the changes.

@PriyaGhosal assign this under gssoc-ext level and hacktoberfest accecpted tags
Thank you

@samarth-6 Can you please review and merge this PR with the necessary tags
Thank you

@Annapoornaaradhya Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution ! 🎉


Sonarqube integration

Description
SonarQube is an on-premise analysis tool designed to detect coding issues in 30+ languages, frameworks, and IaC platforms. By integrating directly with your CI pipeline or on one of our supported DevOps platforms, your code is checked against an extensive set of rules that cover many attributes of code, such as maintainability, reliability, and security issues on each merge/pull request. We going to integrate Sonarqube with our project.
Implementation plan
Setting up the sonarqube
Integrate it with github
updated task
Test coverage is not reflecting in sonarcloud report. To achieve this, need  to run the test from github action and then sonarscan should get the coverage report

[x] Test coverage should reflect in sonarcloud

Since @kaldan007 created the Sonarcloud account, waiting for the admin credentials from him.


Question about apcu cache driver

Hello.
With the setting cache.driver: auto Grav chooses apcu driver if the apcu php extension is loaded, regardless of apcu settings.
For example in php.ini I have the following lines:
...
extension=php_apcu.dll

[apcu]
apc.enabled = 0
apc.enable_cli = 0
...

With such configuration in Debug Bar there is a message:
Cache: [true] Setting: [auto] Driver: [apcu]

So the question is how cache works in this case when apcu is disabled with apc.enabled = 0 but Grav cache driver is apcu?

Grav checks APCU (and others) with extension_loaded(). Is there a reason why you load it but you disable it? We could check with ini_get() for enabled state.

Relevant line: https://github.com/getgrav/grav/blob/develop/system/src/Grav/Common/Cache.php#L177

Thank you for your response.
I asked this question to clarify things for myself.
But in general not every single hosting provides access and control over php.ini settings, so it's possible to have various combination of settings without possibility to change them.

Really this has not come up before.  If you have APCu installed, generally you want to use it.  If you don't want to use it, simply change the auto setting to file or something else.  if you want to disable APCu, rather than setting apc.enabled=0 you can simply comment out the extension entry. That way you are not loading something you are not wanting to use.  This is safer, faster, and just an all around better approach.


feat: split containers-kubernetes rules

Description
created 2 different rules for containers-kubernetes
One for api-type:cluster, and another one for api-type:management.
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

Hello @rajatagarwal-ibm  - does it end up in 2 different CBR rules? A quick scan through the code makes me think that we'll still end up with 1 CBR rules with 2 API types attached to it.

Thanks for the review @vburckhardt, as discussed I will have a look if 2 different keys can be created in target_service_details_default local variable OR if we can specify an array for both the rules in the "containers-kubernetes", which may require design review and further code changes with its implications.

Output:

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

@rajatagarwal-ibm - look at my latest commit. I refactored the code to make it more generic and shorter, so that we can easily extend it when ICD and other services surfaces multiple api types in future. I also added documentation.

Tests are failing. Seems there are CBR rules and zones created which I need to delete first.

/run pipeline

:tada: This PR is included in version 1.17.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Interop between JS Objects and JSONObjects

At the moment on iOS it is possible to use a JS Object where NSDictionary is need so it would be handy if it were possible to do something similar for Android .
For e.g there are a couple instances where we would need to do something like the following
export function serialize(data: any): any {
    let store;
    switch (typeof data) {
        case 'string':
        case 'boolean':
        case 'number': {
            return data;
        }

        case 'object': {
            if (!data) {
                return null;
            }

            if (data instanceof Date) {
                return data.toJSON();
            }
            if (Array.isArray(data)) {
                store = new org.json.JSONArray();
                data.forEach((item) => store.put(serialize(item)));
                return store;
            }
            store = new org.json.JSONObject();
            Object.keys(data).forEach((key) => store.put(key, serialize(data[key])));
            return store;
        }

        default:
            return null;
    }

Yeah, I've thought about that before but I'm concerned to what type should such JSON data be converted?
In your case, you use JSONArray and JSONObject but if we want to achieve similar behaviour as in iOS, we should probably map the JSON to a Map<T>.
This may be a good feature but I probably don't see all the use cases. I'm not sure how common it is for Java/Kotlin APIs to expect an argument of type org.json.JSONObject or org.json.JSONArray. Personally, there are quite a few such APIs I've seen. If you can shed some light on these questions, it would be great. :)
Btw, there is a similar issue about serializing the JS Date object to the Java Date objects (both the new and the old Java APIs). If you find it useful, you can vote on it, too.


Adding disconnect_player and network_stats to the library

head no bad reports so closing

From what I have seen it crashes the client


Question 1: Electric Transmission Line

Question title
Electric Transmission Line
Description (will display on homepage)
The gist
This citizen's initiative would prevent the New England Clean Energy Connect (NECEC) from transmitting power from hydroelectric plants in Quebec for use in Maine and Massachusetts. This requires changing the law retroactively, meaning it changes how much of the legislature is needed to approve a project back as far as 2014.
Ballot question (exact text of the question)
Do you want to ban the construction of high-impact electric transmission lines in the Upper Kennebec Region and to require the Legislature to approve all other such projects anywhere in Maine, both retroactively to 2020, and to require the Legislature, retroactively to 2014, to approve by a two-thirds vote such projects using public land?
Yes means
I don't want NECEC to construct a high-impact electric transmission line in the Upper Kennebec region and require a 2/3 majority vote for similar projects retroactively to 2020 for project anywhere in Maine and 2014 for projects on public land.
No means
I want to allow the NECEC to construct a high-impact elect transmission line in the Upper Kennebec region and I want the legislative rules for approval of such projects to stay the way they are.
Tell me more
New England Clean Energy Connect (NECEC) corridor is often referred to as the CMP corridor. View a map of the corridor.
This question is a citizen initiative, which is a way for Mainers to propose new laws. In order to become a valid initiative, a petition supporting the initiative must collect over 60,000 signatures.
Follow the money
The money will be used to
*
The money will be coming from
*
Pros
The primary arguments for this referendum are:

Some people believe the corridor will benefit Massachusetts more than Maine.

Cons
The primary arguments against this referendum are:

It would set a precedent for changing laws retroactively. This could mean that things done legally today could become illegal if a law was changed in the future with a retroactive date.

Who cares
Support [2]

No CMP Corridor
State Sen. Richard Bennett (R)
State Sen. Russell Black (R)
State Sen. Paul T. Davis (R)
State Sen. Chloe Maxmin (D)
State Rep. Seth Berry (D)
State Rep. Nicole Grohoski (D)
State Rep. Allison Hepler (D)
State Rep. H. Scott Landry Jr. (D)
State Rep. William Pluecker (Independent for Maine Party)
State Rep. Jennifer Poirier (R)
State Rep. Lynne Williams (D) Opposition
Calpine Corp.
NextEra Energy Resources, LLC
Vistra Energy Corp.
Food and Water Watch

Opposition

Central Maine Power Company
Hydro-Québec Energy Services (U.S.) Inc.
Maine State Chamber of Commerce

Further reading
Full text
Ballotpedia article
References
Put the number in brackets above to indicate a footnote to a reference.

Maine State Legislature. Sec. 1. 12 MRSA §1852, sub-§4. Accessed September 25 2021.
Ballotpedia State Desk. Maine Question 1, Electric Transmission Line Restrictions and Legislative Approval Initiative (2021)
. Ballotpedia. Accessed September 25, 2021.

Image
https://commons.wikimedia.org/wiki/File:Transmission_line_towers_and_high_tension_lines_1a35251v.jpg
Tags
Electricity
Retroactive
Citizen's Initiative
Election date
11/02/2021

I started populating the content for this question above.  Feel free to edit and add stuff.

I added more to this one.  I haven't dug all the way into the background yet, if anyone wants to look into that.

This one's ready to review.  Does anyone have anything to add to the pro and con lists?

Updated pros and cons now that the Maine Citizen's Guide to the Referendum Election is available.

Added a space between the footnote and "View a map of the corridor" link, but did not find any real changes needed.  Expl seems very clear and thorough.


[RFC] An Adaptive merge policy with better Write and Space amplification

Problem
Currently OpenSearch uses an implementation of Tiered Merge policy for compaction. Tiered Merge policy is suited for write intensive workload as it has lower write amplification. A disadvantage of Tiered Merge policy is its Read and Space amplification is high. For merging a set of segments it requires 3 times the total size of segments that are merged (as Compound files are enabled), increasing space amplification. Also obsolete entries (created when there is updates or deletion) are slowly removed from the segments in tiered merge policy (as compared to Level Merge policy), increasing read amplification.
What are other alternatives
Leveled Merge Policy
Leveled merge policy is used for read intensive workload. In Leveled Compaction as well data on disk are organized in multiple levels. The size of each level is maintained at T times that of the previous level (generally T = 10). A special level-0 (or L0 for short) contains files just flushed from in-memory write buffer (memtable). All non-0 levels have target sizes. Inside each level (except level 0), data is range partitioned into multiple SST files. The size targets are usually exponentially increasing.

Segment merge gets triggered when the data size of a level reaches its upper limit. In that case, segments at the current level will be pushed to and merged with the segments of next level. The resultant segments will be placed in the next level. Since merging at current level happens every time previous level gets filled up and a new set of segments is pushed to this level, read amplification (since obselete entry will be less) and space amplification (since only a small set of segment is pushed and merged from previous level) is less as compared to tiered merge policy.
Issue with this merge policy is write amplification is very high, so it is suited for read intensive workload.
Leveled Merge Policy with lazy leveling
Leveled Merge policy with lazy leveling improves write amplication for Leveled merge by eliminates merging at all but the largest level. Lazy leveling at its core is a hybrid of leveling and tiering: it applies leveling at the largest level and tiering at all other levels.

In order to keep the cost complexity of point lookups fixed despite having more segments to probe at smaller levels, we keep FPR at lower level better than FPR at larger level. Therefore, relative to leveling with lazy leveling, we are able to (1) improves the cost complexity of updates, (2) maintains the same complexity for point lookups, long range lookups, and space-amplification, and (3) provides competitive performance for short range lookups.
Worst case cost comparisons between merge policies for different operations

Operation
Tiered Compaction Worst Case Cost
Leveled Compaction Worst Case Cost
Lazy Levelling Compaction Worst Case Cost

Update
Worst-case workload is all updates target entries at the largest level.  Number of merge operation per entry is O (L / B)
Worst-case workload is all updates target entries at the largest level. Number of merge operation per entry is O((T . L)/ B)
Worst-case workload is all updates target entries at the largest level. Number of merge operation per entry is O ((T + L) / B)

Point Lookups
Worst case scenario happens on zero-result point lookups. Expected point lookup cost is O(e−M/N · L· T)
Worst case scenario happens on zero-result point lookups. Expected point lookup cost is O(e−M/N · L)
Expected point lookup cost for zero point look up is  e−M/N . ln (2)2 . T  T / (T - 1)  / (T - 1)  (T -1) / T

Space-Amplification
Worst-case space-amplification occurs when entries at Levels 1 to L − 1 are all updates to different entries at Level L. Space amplification is O(1/T).
Worst-case space-amplification occurs when entries at Levels 1 to L − 1 are all updates to different entries at Level L. Space amplification is O(T).
Worst-case space-amplification occurs when entries at Levels 1 to L − 1 are all updates to different entries at Level L. Space amplification is O(1/T).

Range Lookups
Short Range look up cost is O(T · L). Long range cost is O((T·s) /B )
Short Range look up cost is O(L). Long range cost is O( s/B ).
Short Range look up cost is O((L − 1) · T). Long Range lookups cost is O( s/B ).

where,
L = number of levels
T = size ratio between adjacent levels
M = main memory allocated to the Bloom filters
N = total number of entries
s = selectivity of a range lookup
B = number of entries that fit into a storage block
P = size of the buffer in storage blocks
Analysis summary
As it can be inferred from the above analysis, no single merge policy dominates the others universally. Lazy leveling is best for combined workloads consisting of updates, point lookups and long range lookups, whereas tiering and leveling are best for workloads comprising mostly updates or mostly lookups, respectively.
Proposal - Fluid LSM merge policy
Fluid LSM is an adaptive merge policy that generalises all the above merge policies (Tired, Leveled and Lazy leveling). It enables switching between different merge policies as per the workload.  It does this by controlling the frequency of merge operations separately for the largest level and for all other levels.

In fluid LSM tree, there are at most Z runs at the largest level and at most K runs at each of the smaller levels. To maintain these bounds, every Level i has an active run into which we merge incoming runs from Level i − 1. Each active run has a size threshold with respect to the capacity of its level (total capacity comes out to T): T/K percent for Levels 1 to L − 1 and T/Z percent for Level L. When an active run reaches this threshold, we start a new active run at that level. Ultimately when a level is at capacity, all runs in it get merged and flushed down to the next level.
The bounds K and Z are used as tuning parameters that enable Fluid LSM-tree to assume the behaviors of different merge policies.

K = 1 and Z = 1 give leveling.
K = T − 1 and Z = T − 1 give tiering.
K = T − 1 and Z = 1 give Lazy Leveling.

Fluid LSM-tree can transition from Lazy Leveling to tiering by merging less frequently at the largest level by increasing Z, or it can transition to leveling by merging more frequently at all other levels by decreasing K.
Further steps

Create a POC to analysize how much performance improvent we can get using Fluid LSM. Planning to port Level Merge policy in OpenSearch to do this analysis.
If we can further extend this merge policy to adapt to system state (decrease merge frequency when CPU, JVM is high and vice versa).

Reference Paper
https://scholar.harvard.edu/files/stratos/files/dostoevskykv.pdf

Would appreciate feedback from @shwetathareja, @nknize, @Bukhtawar, @sachinpkale, @muralikpbhat, and @reta as well, so tagging more folks for visibility. Thanks!

...data is range partitioned into multiple SST files.

This is copy/paste from RocksDB? I'm assuming you mean multiple lucene "segments" instead of SST files?

...data on disk are organized in multiple levels.

Am I tracking correctly that Lucene segments at Li are only merged with segments at Li+1 once the cumulative data size of Li reaches it's upper limit?

It enables switching between different merge policies as per the workload.

I really like the idea of an adaptive merge policy! It falls in the category of "auto tuning" which is especially nice for serverless.
The concern I have here is introducing the idea of levels. TieredMergePolicy is (by design) a greedy one that tries to fill up segments to their max size (5gb). To this end it can merge non-adjacent segments in an overall attempt to minimize the total number of segments. This was chosen by design since more segments typically result in higher search latencies. Perhaps concurrent search may help reduce these latencies (and thus lessen these concerns) but it seems to me that introducing levels moves back to a design more similar to LogByteSizeMergePolicy where only those segments within two adjacent levels are candidates for merge. It seems that design means smaller segments (e.g., recently flushed segments in L0) will be not be considered for merge with larger ones, thus those optimizations are lost?
@mikemccand wrote the book on these policies so I'm curious what he thinks.

Thanks @RS146BIJAY
+1 on adaptive merge policy. I think the overall proposal is a step in the right direction. It would be good to see some quick PoC and numbers around the algorithm changes and corresponding workloads that get to benefit from it.

Nice, looks promising for workloads where update/delete is very frequent. Thanks @RS146BIJAY.
By default, a segment can have 50% of deleted documents at max ! index.merge.policy.max_merged_segment setting has 50% value.
With 50% deleted documents, this will be huge overhead on search operations as decoding from posting has to happen even for deleted documents and they will occupie additional memory.
@Bukhtawar mentioned, lets get maximum opportunity we have here, keeping 50% updated documents on a segment and compare with 0 deleted similar segment (similar number of live docs). This will get us worth of entire work that how much we can benefit maximum. I would start with search latency numbers for comparison. We can see later the trade off for additional segment merges operations due to fluid merge policy as suggested.
Also, it looks like the primary motive of the proposal is to reclaim deleted documents as much as we can through tuning merges. TieredMergePolicy too provides index.merge.policy.reclaim_deletes_weight setting where it gives more weight to higher deleted documents segments. We might want to tune TieredMergePolicy itself w.r.t current deleted document statistics and dynamically change this setting to reclaim deleted documents.

Thanks @RS146BIJAY for the proposal.
It would be great if you can share the gains/improvements that you are observing when using the  Leveled Merge Policy.

We can expect a maximum of 15% to 20% improvement with the new merge policy. Below result compares how obsolete entries degrade search performance by comparing search latency when there is no obsolete entries vs search latency when there is 20 % obsolete entries (maximum obsolete entries that OpenSearch can have). The idea is new merge policy can merge aggressively to keep obsolete entry low when search traffic is high. So maximum gain we can get from new merge policy is as maximum performance degradation with current merge policy due to obsolete entry.
We used nyc_taxis track for the below run:

Metrics
Aggregation
With 0% obselete entries
With 20% obselete entries
diff
% degradation in latency

default
Min Throughput
3.012
3.014
0.002
0.0664

default
Mean Throughput
3.022
3.024
0.002
0.06618

default
Median Throughput
3.02
3.02
0
0

default
Max Throughput
3.034
3.038
0.004
0.13184

default
50th percentile latency
19.94
20.132
0.192
0.96289

default
90th percentile latency
20.828
22.258
1.43
6.86576

default
99th percentile latency
22.26
27.882
5.622
25.25606

default
100th percentile latency
22.636
29.386
6.75
29.81976

range
Min Throughput
0.7
0.7
0
0

range
Mean Throughput
0.702
0.704
0.002
0.2849

range
Median Throughput
0.702
0.704
0.002
0.2849

range
Max Throughput
0.702
0.704
0.002
0.2849

range
50th percentile latency
181.674
218.144
36.47
20.07442

range
90th percentile latency
184.286
222.59
38.304
20.78508

range
99th percentile latency
189.898
231.756
41.858
22.04236

range
100th percentile latency
194.306
236.372
42.066
21.64936

autohisto_agg
Min Throughput
1.424
1.418
-0.006
-0.42135

autohisto_agg
Mean Throughput
1.456
1.46
0.004
0.27473

autohisto_agg
Median Throughput
1.464
1.462
-0.002
-0.13661

autohisto_agg
Max Throughput
1.474
1.474
0
0

autohisto_agg
50th percentile latency
527.08
586.344
59.264
11.24383

autohisto_agg
90th percentile latency
528.95
589.13
60.18
11.37726

autohisto_agg
99th percentile latency
534.092
596.522
62.43
11.689

autohisto_agg
100th percentile latency
539.318
601.18
61.862
11.47041

date_histogram_agg
Min Throughput
1.5
1.5
0
0

date_histogram_agg
Mean Throughput
1.5
1.5
0
0

date_histogram_agg
Median Throughput
1.5
1.5
0
0

date_histogram_agg
Max Throughput
1.5
1.5
0
0

date_histogram_agg
50th percentile latency
532.018
607.402
75.384
14.16945

date_histogram_agg
90th percentile latency
533.4
611.264
77.864
14.59768

date_histogram_agg
99th percentile latency
534.862
615.84
80.978
15.13998

date_histogram_agg
100th percentile latency
537.658
624.888
87.23
16.22407

The idea is new merge policy can merge aggressively to keep obsolete entry low when search traffic is high.

Are you proposing to dynamically close and re-open the IndexWriter based on search load? Or change OpenSearch's default MergePolicy with an Adaptive one that delegates to TieredMergePolicy or LogByteSizeMergePolicy and auto-tunes those policy settings based on search load? How do you plan to reproducibly benchmark those real world dynamics?
Curious to get some other folks looking at this as well so they can track and weigh in and ask additional questions.  /cc @rishabh6788 @msfroh @andrross @mch2 @dreamer-89

Tagging the the correct Rishabh @rishabhmaurya :)

Tagging the correct Rishabh @rishabhmaurya :)

Thank you! I think I made that mistake before 🤦🏻♂  SryAboutThat!

@RS146BIJAY Thanks for looking into ideas to improve merge policies.
I think there is nothing OpenSearch exclusive here, so moving it to Lucene would give us a diverse opinion.
In your proposal there are lot of terminologies copied from RocksDB paper which doesn't directly translates to Lucene very well. RocksDB is a key value store and all the query types you have mentioned Update, PointLookUp & RangeLookup are performed much differently in RocksDB when compared to Lucene, so copying comparison here is of no value as read amplification would be different for both of them. Also, the SST files are sorted by keys and ordered by key ranges. It also supports update of keys in L0. These differences in underlying system are important while designing merge policy in my opinion. Also, the concept of tiering in this paper seems slightly different from what we have in Lucene TieredMergePolicy as we have a lot knobs to control like max segment per tier, max segment size and merge factor.
The main difference I see between 2 approaches is RocksDB Level merge policy is trying to merge a segment from lower level to the segments in the next level, another way to put it is merging a relatively small segment(s) with larges ones at next level, which, I agree, would result in cleaning up a lot of obselete docs when compared to tiered merge policy(which always considers segments at same level and of similar sizes to merge for lower write amplification) but it trades off write amplification and cascade merging of segment to lower level (tiered merge policy is pretty good at it as it works on budget model). Also, TieredMergePolicy works on choosing segments where reclaim from deleted documents is high, so it already tries to address the problem. As mentioned earlier by @gashutos, I would work backward on what problem we are addressing, if its update/read heavy, I would play by customizing existing TieredMergePolicy to reclaim deleted docs more aggressively (if its not doing already or isn't possible to tweak one of the existing settings) and try to address the concern instead of introducing the whole new merge policy.
I agree with @nknize that idea of having adaptive merge policy (or merge policy settings) depending on workload is quite fascinating. I would love to hear the answer which Nick raised on how auto tuning will translate internally.

Or this is for changing underlying merge policy and closing and reponing IndexWriter?

Merge policies and schedulers are set on the IndexWriter which is configured through the OpenSearch Engine. I thought you were suggesting an adaptive merge scheduler approach that would use a new LevelMergePolicy similar to OpenSearchTieredMergePolicy that groups segments and delegates and tunes the settings of the optimal MergePolicy based on search AND indexing workload. In this case, I agree w/ @rishabhmaurya that these conversations can be teased into separate discussion topics. It seems this proposal is mostly just focused around reclaiming deletes which has had quite a bit of improvement over the last few years. Have a look at the simple LUCENE-10574 PR, for example. It would be good to open this discussion upstream and propose this for Lucene in general to get feedback from other committers.

By default, a segment can have 50% of deleted documents at max ! index.merge.policy.max_merged_segment setting has 50% value.

Just to clarify here, the DEFAULT_DELETE_PCT_ALLOWED is 20% which corresponds with the Lucene default. index.merge.policy.max_merged_segment can't exceed 50%.

Ack. Will try to separate out discussions for Workload based adaptive merge policy with Fluid LSM merge policy that we suggested in this proposal.
Agreed this RFC concentrated around creating a new adaptive merge policy which switches between Indexing favouring or Search favouring traffic by controlling obsolete entries (which I initially thought can be first part of making merge policy adaptive). Will try to generalise this proposal a bit more and add details on how we can make this merge policy adaptive for other workloads (time series, log analytics) as well, which is the extended objective for this proposal.

For https://github.com/opensearch-project/OpenSearch/issues/10340#issuecomment-1765689620 where we updated about 20% of the documents, we saw this issue. The 5 GB limit on the max segment size was causing larger segments (around 5 GB size) to have more obsolete entries (around 60% obsolete entries in one single segment) which started impacting search performance. Essentially this is preventing larger segments to be merged less frequently or not getting merged at all causing search performance degradation.

PS: For updating 20% entries, we ran an update by query command on nyc_taxis index where vendor_id = 1 with max doc count parameter.

@RS146BIJAY These are skewed results because deleted documents are pretty high on single segment the way we updated documents (Like couple of segments with 60% deleted documents and rest of the segments doesnt have any deleted entries). I think we need to see with different percentage of deleted documents, how search performance is behaving.
I would suggest to benchmark and put numbers for sort/range/aggregation/match queries on nyc_taxis workload for segments containing 15%, 30%, 45%, .... deleted entires. That will help us deciding the concrete approach as well to further direction at what to look at.

Just to clarify here, the DEFAULT_DELETE_PCT_ALLOWED is 20% which corresponds with the Lucene default. index.merge.policy.max_merged_segment can't exceed 50%.

@nknize If segment is already 5 GB, I think in that case, index.merge.policy.max_merged_segment this wont be honored. Like mentioned above, @RS146BIJAY is seeing deleted entried per segment around 60%.

@nknize If segment is already 5 GB, I think in that case, index.merge.policy.deletes_pct_allowed this wont be honored. Like mentioned above, @RS146BIJAY is seeing deleted entried per segment around 60%.

@gashutos  I think it was addressed recently by https://github.com/opensearch-project/OpenSearch/pull/10036, no?

@gashutos I think it was addressed recently by https://github.com/opensearch-project/OpenSearch/pull/10036, no?

That just avoids going over 5GB when using only_expunge_deletes.
In other words, you can use only_expunge_deletes as a way of escaping from a "too many deletes" scenario without accidentally creating segments that are too big to participate in normal merges. If you're over the max segment size (e.g. because you did a force merge without only_expunge_deletes or because you lowered the max segment size), the behavior won't change I believe.

@gashutos I believe index.merge.policy.deletes_pct_allowed  is on Shard level not on segment level (here index means a lucene index). Validated that in the index created the 20% limit was maintained on an individual shard level though obsolete entries on individual segments is reaching above 40%. Even the check inside merge policy is on individual shard level (totalDelPct <= deletesPctAllowed).

@gashutos I believe index.merge.policy.deletes_pct_allowed is on Shard level not on segment level (in this doc, index means a lucene index). Validated this by creating index (3 primary, 1 replica) and updating 20% entries that the 20% limit was maintained on an individual shard level though obsolete entries on individual segments is reaching above 40%. Even the check inside merge policy is also done on individual shard level (totalDelPct <= deletesPctAllowed), therefore it is not allowing large segments (> 5 GB) over 60% obsolete entries for merges in the above case as total delete percentage of the corresponding shard is still less than 20% (totalDelPct <= deletesPctAllowed) and segment is removed from getting merged.

We should try to tune (new implementation) this limit at segment level.


Add zone_id to MetagameEvent class

The MetagameEvent class is missing the zone_id.
See issue 47 comment for context.

Added v3.1.0


Chapter 6 - Ridge regression

http://stats.stackexchange.com/questions/160096/what-are-the-differences-between-ridge-regression-using-rs-glmnet-and-pythons

Has been answered on Cross Validation: glmnet() and scikit-learn optimize different functions.

Due to differences between implementation/optimization of scikit-learn and glmnet, the actual results (coefficents) of the model differ.


New firmware GWM-07.027-03_GCW-10.22-05.7

Grizzl-e have released a new version of the firmware which seems to work a little more to the protocol standard.
It disconnects with this fork of the repo / previous update instructions.
With the original version, it now at least shows some values and works for a few seconds before disconnecting permanently.
I'll provide some more logs when I get a chance, but for others who want to use this fork - this firmware is not working for me.

which verison of the firmware ?
i did not upgrade since i was afraid of this situation

and  i would like to found the release note as well

Do you have a update since this one?

@djiesr, I've not had time to dig into the details here yet. Still on my list, hopefully next week I'll have some time!

Using this fork, there are other issues.
There are warnings present:
Logger: py.warnings
Source: deps/lib/python3.12/site-packages/ocpp/v16/call.py:428
First occurred: 9:45:33 AM (1 occurrences)
Last logged: 9:45:33 AM

/config/deps/lib/python3.12/site-packages/ocpp/v16/call.py:428: UserWarning: GetConfigurationPayload is deprecated, use instead GetConfiguration warnings.warn(

Logger: py.warnings
Source: deps/lib/python3.12/site-packages/ocpp/v16/call_result.py:396
First occurred: 9:45:33 AM (1 occurrences)
Last logged: 9:45:33 AM

/config/deps/lib/python3.12/site-packages/ocpp/v16/call_result.py:396: UserWarning: StatusNotificationPayload is deprecated, use instead StatusNotification warnings.warn(

Logger: py.warnings
Source: deps/lib/python3.12/site-packages/ocpp/v16/call_result.py:279
First occurred: 9:45:32 AM (1 occurrences)
Last logged: 9:45:32 AM

/config/deps/lib/python3.12/site-packages/ocpp/v16/call_result.py:279: UserWarning: BootNotificationPayload is deprecated, use instead BootNotification warnings.warn(

And from HASS
Logger: homeassistant.const
Source: helpers/deprecation.py:222
First occurred: 9:43:29 AM (3 occurrences)
Last logged: 9:44:17 AM

TIME_MINUTES was used from ocpp, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTime.MINUTES instead, please report it to the author of the 'ocpp' custom integration
POWER_KILO_WATT was used from ocpp, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfPower.KILO_WATT instead, please report it to the author of the 'ocpp' custom integration
ELECTRIC_CURRENT_AMPERE was used from ocpp, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricCurrent.AMPERE instead, please report it to the author of the 'ocpp' custom integration

Probably updating with the changes from upstream will remove these?
There's also a hard stop with the configuration:
Unexpected exception in connection to 'GRIZZL-E': 'TypeConstraintViolationError: Payload for Action is syntactically correct but at least one of the fields violates data type constraints (e.g. “somestring”: 12), {'cause': "2 is not of type 'string'", 'ocpp_message': <CallResult - unique_id=ec33d7d6-653b-42ab-8a2f-3084ec3a11ef, action=GetConfiguration, payload={'configurationKey': [{'key': 'DipSwitchCurrentLimit', 'readonly': True, 'value': '40'}, {'key': 'MinCurrent', 'readonly': True, 'value': '8'}, {'key': 'StartChargingAfterConnect', 'readonly': False, 'value': 'true'}, {'key': 'AuthorizeRemoteTxRequests', 'readonly': False, 'value': 'true'}, {'key': 'ConnectorPhaseRotation', 'readonly': True, 'value': 'NotApplicable'}, {'key': 'HeartbeatInterval', 'readonly': False, 'value': '3600'}, {'key': 'LocalAuthorizeOffline', 'readonly': False, 'value': 'true'}, {'key': 'LocalPreAuthorize', 'readonly': False, 'value': 'true'}, {'key': 'MeterValueSampleInterval', 'readonly': False, 'value': '20'}, {'key': 'NumberOfConnectors', 'readonly': True, 'value': '1'}, {'key': 'ResetRetries', 'readonly': True, 'value': '1'}, {'key': 'StopTransactionOnInvalid', 'readonly': False, 'value': 'false'}, {'key': 'SupportedFeatureProfiles', 'readonly': True, 'value': 'Core,FirmwareManagement,SmartCharging'}, {'key': 'UnlockConnectorOnEVSideDisconnect', 'readonly': False, 'value': 'false'}, {'key': 'StationPassword', 'readonly': False, 'value': 'LetMeIn!'}, {'key': 'ServerUrl', 'readonly': False, 'value': 'wss://home-assistant.home.bolton-consulting.org:9000/'}, {'key': 'ChargeProfileMaxStackLevel', 'readonly': True, 'value': 2}, {'key': 'ChargingScheduleAllowedChargingRateUnit', 'readonly': True, 'value': 'Current'}, {'key': 'ChargingScheduleMaxPeriods', 'readonly': True, 'value': 1}, {'key': 'MaxChargingProfilesInstalled', 'readonly': True, 'value': 2}]}>}'

Looking at the schema, it's expecting the response to be a string. I'm not sure how to relax this part....
After this, I don't have a connected charger.

@djiesr It seems happier now with the int/string relax. No more reconnects every 30s!

Good new. For the deprecated constant, i have to update the fork from the main, I will do that in the next month. After this, I will do the correction for the error.
If it work for now for you, i think the error will not cause some problem.

Good new. For the deprecated constant, i have to update the fork from the main, I will do that in the next month. After this, I will do the correction for the error. If it work for now for you, i think the error will not cause some problem.

Which error are you talking about here - the JSON validation? I think this is coming from the Grizzl-e, so it may note be something that can be 'fixed' here?

I have sometimes, I have note them.

I will check this weekend if I can connect to my Grizzl-E, it hasn’t worked for a few days. The charging station doesn't even have an IP address anymore.

Ok, my charger is back. I will restart the next update from the last package of lbbrhzn/ocpp and the last update of Grizzl-E. I'm a little buzy, but I thinks I will do that for the first week-end of january.


zookeeper 3.5 support

Hi!
Zookeeper 3.5 dynamic reconfiguration is supported in exhibitor?
Thanks

Not currently. Also, it's a good to time to think about an Exhibitor 3.0. A large portion of Exhibitor's functionality is dealing with the static config of ZK. Now that that's no longer an issue in ZK 3.5 how should Exhibitor work? Please post thoughts for what an Exhibitor 3.0 would look like here.

has there been any update on the development of "Exhibitor 3.0" as i would love to use this :)

Sadly - I opened this project up to anyone who wants to maintain it. Lots of people volunteered but no one seems to be truly taking responsibility.

It may have to get officially maintained by a "big fish" company or team
rather than one individual. I know I planned to contribute, but have no
need for exhibitor at the moment as my new company does not use Zookeeper.
Jordan, maybe you could open up an application process to identify the
team/company to officially maintain Exhibitor. That way a sense of
ownership is maintained. Would be a great way to keep your work alive!
-Parker
On Wed, Jul 19, 2017 at 1:13 PM Jordan Zimmerman<EMAIL_ADDRESS>wrote:

Sadly - I opened this project up to anyone who wants to maintain it. Lots
of people volunteered but no one seems to be truly taking responsibility.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/soabase/exhibitor/issues/262#issuecomment-316454807,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARJs4UcHX74vrqO249omZqaO2UQz2WFeks5sPjkhgaJpZM4Ffwcg
.

How would that work? I sent an email to the Exhibitor list when Netflix released the project to me. Lots of people signed up to be committers but nothing's happening.

I'm actually working on publishing my companies intertnal branch to this project. While it doesn't handle this explicit issue it fixes a number of bugs.
I'm sorry it's been quite around here, there isn't much planning or coordination amount committers.

I was wondering if Zookeeper 3.5 dynamic reconfiguration still has not been supported in exhibitor? If so, which version of exhibitor supports it?
Thanks

As a note as of 20, May 2019 Zookeeeper 3.5.5 was considered stable and production ready.
Looking at https://zookeeper.apache.org/doc/r3.5.6/zookeeperReconfig.html
It seems that Exhibitor would not change much instead of doing rolling restarts when the configuration changes it can submit the changes to the ensemble to update the config. It could if using S3  backup the configuration there and restore it from there.
However as of 3.5.3 the dynamic configuration is turned off by default over security concerns and has to be explicitly turned on and ACLs setup to use it unless you also enable the skipACL flag or if you run zookeeper in standalone mode it remains static.
I don't see any reason why the current version of Exhibitor would not work for 3.5.x with dynamic reconfig turned off or even enabled. If enabled you'd just not get the not having to restart when changing config when it is enabled.

For anyone trying to run exhibitor with 3.5 here's some things you'll need to do to get it work.

the zookeeper jar is no longer at the root of the home directory and is in the lib directory. I symlinked the jar to the root and this resolved that issue.

Exhibitor uses the 4 letter word commands to check status. in 3.5.3+ the commands need to be whitelisted via 4lw.commands.whitelist. You can set this under the additional config. I used 4lw.commands.whitelist=stat, ruok, reqs, dump, conf, cons, srvr, wchs, wchc, wchp, mntr

3.5.x added an admin server that runs on port 8080 you will either need to move your exhibitor port, change the port the admin server runs on or turn the admin server off. I chose to move the exhibitor port. Yo change the admin server this can be done by adding either admin.enableServer=false or admin.serverPort=xxxx to the additional config


Rehauling github unit pytests.

Added tests for intra_move, intra_copy, delete, upload, metadata, various operations.
Validate paths root tests, and many other smaller ones.
refs: https://openscience.atlassian.net/browse/SVCS-442
Purpose
increase test coverage for waterbutler github unit tests
Summary of Changes
Added CRUD tests for github test_provider
Added tests for operations
Added tests for intra_move, intra_copy
Added Metadata tests
Moved fixtures into their own json files and added fixture loading
Updated many existing tests to stop using validate_path to get GithubPath objects
Fixed many old commented out tests
removed uneeded commented out tests that were too far gone.
many other tests
QA/testing notes
Test coverage should increase.
There is a ticket to trim the github provider, path and metadata. Once this ticket is completed, coverage

Coverage increased (+3.04%) to 82.388% when pulling 4f6c98dbb7a2ed7ce2657678cf88f74c1770d3b4 on AddisonSchiller:feature/github-tests into 1d9a756f2ff3b87298eacf3e5f86fb53963ace2f on CenterForOpenScience:develop.


Tutorial NB is missing necessary data

Great tutorial today!
One thing I'm bumping into when trying to run your NB 4_yelp_reviews.ipynb, it looks like the data file or files are not available in the repo.

Hopefully that helps. Thanks again for a fun presentation!

Oh thanks for catching that!  I'll update it now!

I think it's resolved now. I hadn't pushed the last change which was why stuff was missing from my presentation too! Let me know if you run into any other issues, want clarification on anything or have suggestions! I'll leave it to you to confirm and close this issue

Thanks for the tutorial. Hope to see you again at next year's PyCon!


Update to allow flash to load when not visible

Refresh a page containing this directive and change tabs in your browser before it is done loading. The previous timeout event would fire and the evt.ref.PercentLoaded was undefined. The timeout would not continue and the swfLoad event would never load. This change just removes the timeout and sets the interval so it will continue to check.

Hi @shaunbowe, thanks! :heart: