HikariCP Appears Stuck

We just had a problem where our network firewall started blocking our postgres traffic and HikariCP reported problems, but then seemingly got stuck trying to connect, ignoring the configured timeout settings.  Similarly, when we restarted our app, HikariCP again seemly got stuck trying to connect, ignoring the configured timeout settings.  What I would have expected is for HikariCP to immediately go into some kind of recovery mode where it would log problems, continue trying to connect, continue logging problems, until such time as the connectivity had been restored.  Here's all the relevant information for your review.  Thanks in advance for your insight into this issue.  It appears we may have found a way to break HikariCP or maybe this has already been addressed in a newer version of HikariCP.
[hikari.HikariConfig] - 1-MemberConnectionPool - configuration:
[hikari.HikariConfig] - allowPoolSuspension.............false
[hikari.HikariConfig] - autoCommit......................true
[hikari.HikariConfig] - catalog.........................null
[hikari.HikariConfig] - connectionInitSql...............null
[hikari.HikariConfig] - connectionTestQuery.............null
[hikari.HikariConfig] - connectionTimeout...............30000
[hikari.HikariConfig] - dataSource......................null
[hikari.HikariConfig] - dataSourceClassName.............null
[hikari.HikariConfig] - dataSourceJNDI..................null
[hikari.HikariConfig] - dataSourceProperties............{password=<masked>}
[hikari.HikariConfig] - driverClassName................."org.postgresql.Driver"
[hikari.HikariConfig] - healthCheckProperties...........{}
[hikari.HikariConfig] - healthCheckRegistry.............null
[hikari.HikariConfig] - idleTimeout.....................60000
[hikari.HikariConfig] - initializationFailFast..........true
[hikari.HikariConfig] - isolateInternalQueries..........false
[hikari.HikariConfig] - jdbc4ConnectionTest.............false
[hikari.HikariConfig] - jdbcUrl........................."jdbc:postgresql://SCRUBBEDHOST:5433/dgcs?socketTimeout=3600&ApplicationName=memberServices@SCRUBBEDHOST:8082"
[hikari.HikariConfig] - leakDetectionThreshold..........0
[hikari.HikariConfig] - maxLifetime.....................1800000
[hikari.HikariConfig] - maximumPoolSize.................10
[hikari.HikariConfig] - metricRegistry..................null
[hikari.HikariConfig] - metricsTrackerFactory...........null
[hikari.HikariConfig] - minimumIdle.....................1
[hikari.HikariConfig] - password........................<masked>
[hikari.HikariConfig] - poolName........................"1-MemberConnectionPool"
[hikari.HikariConfig] - readOnly........................false
[hikari.HikariConfig] - registerMbeans..................true
[hikari.HikariConfig] - scheduledExecutorService........null
[hikari.HikariConfig] - threadFactory...................null
[hikari.HikariConfig] - transactionIsolation............null
[hikari.HikariConfig] - username........................"SCRUBBEDUSER"
[hikari.HikariConfig] - validationTimeout...............5000
[hikari.HikariDataSource] - 1-MemberConnectionPool - Started.

Below is a thread dump that indicates Hikari is waiting on a socketRead.
“localhost-startStop-1” #16 daemon prio=5 os_prio=0 tid=0x00007ff284002000 nid=0xdf1 runnable [0x00007ff2e99e0000]
  java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:171)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:140)
    at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:109)
    at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:67)
    at org.postgresql.core.PGStream.receiveChar(PGStream.java:306)
    at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:405)
    at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:94)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
    at org.postgresql.Driver.makeConnection(Driver.java:454)
    at org.postgresql.Driver.connect(Driver.java:256)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:101)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:315)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:509)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:118)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:271)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)

Our HikariCP version is as follows:
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>2.4.4</version>
        </dependency>

@brettwooldridge CORRECTION!  When it was healthy and then became unhealthy, it did go into recovery mode to try to reestablish the connections.  So the timeouts were working at that point.  It was only on STARTUP that the timeouts did not seem to be taking effect and it seemed to get stuck.

@victropolis Are you saying that the pool was started (later) while the firewall was in force, and at that time it seemed that timeouts are not working?

@brettwooldridge initially, after the firewall started blocking the traffic and BEFORE we knew it was a firewall issue, HikariCP was reporting problems with the connections and it was trying to reestablish the connections (using the connection confired timeout).  During the outage, we tried restarting the application, and that's when we noticed that HikariCP seemed to not be using the connection timeout setting since it seemed to just get stuck indefinitely on startup.

@victropolis What version of the postgres driver are you using? They have only in the past few months resolved issue related to supporting network timeout correctly.
Also, that is a really old version of HikariCP you are running. I normally don't even look at issues reported on anything but the latest release.
Also, read this and implemented measures as necessary:
https://github.com/brettwooldridge/HikariCP/wiki/Rapid-Recovery

@brettwooldridge
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.2.5</version>
            </dependency>


#434 breaks on threads where run is not a method

The patching code added in #434 breaks if the run attribute on a thread is not a method.
I’m using sentry-sdk==0.11.1 with Python 3.7.4.
Put the following code in demo.py:
import sentry_sdk
from sentry_sdk.integrations.threading import ThreadingIntegration

sentry_sdk.init(default_integrations=False, integrations=[ThreadingIntegration()])

from threading import Thread

class MyThread(Thread):
    def __init__(self):
        super().__init__()
        self.run = lambda: print("hello")

t = MyThread()
t.start()
t.join()

Run python3 demo.py:
Traceback (most recent call last):
  File "demo.py", line 18, in <module>
    t.start()
  File "/myapp/venv/lib/python3.7/site-packages/sentry_sdk/integrations/threading.py", line 41, in sentry_start
    self.run = _wrap_run(hub_, self.run.__func__)
AttributeError: 'function' object has no attribute '__func__'

Remove Sentry:
from threading import Thread

class MyThread(Thread):
    def __init__(self):
        super().__init__()
        self.run = lambda: print("hello")

t = MyThread()
t.start()
t.join()

Run it again: python3 demo.py
hello

It runs fine.

The issue is that the patching code relies on self.run.__func__ but that attribute is only defined on methods, not on functions.
You can see that with this code:
>>> class A():
...     def f(self):
...             pass
...     def set_f(self):
...             self.f = lambda _: 42
...
>>> a = A()
>>> a.f.__func__
<function A.f at 0x106dfaef0>
>>> a.set_f()
>>> a.f.__func__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'function' object has no attribute '__func__'

According to the Python docs, one can call inspect.ismethod on an object to check if it’s a method and so if it has a ___func__ attribute (you could even use hasattr).
I haven’t tested it, but I believe something like this would do the job:
run_function = self.run.__func__ if inspect.ismethod(self.run) else self.run
self.run = _wrap_run(hub_, run_function)

Note that this self.run assigment code (already in the patch) transforms self.run in a function rather than a method if it were one before, meaning that in my example code MyThread().run.__func__ is defined only if I don’t use Sentry (or at least its Thread integration).

What do you think? I can move forward and make a pull-request with a test and a fix if the solution above suits you.

Hi, thanks for bringing this to our attention. I think I am fine with a patch like that. I would still argue that setting run to not be anything else but a method is not "valid usage" as per the Python docs (since they say run is a method).
Even though it happens to only have to be a callable in practice.  That impl wouldn't violate the language spec but would still not work with your code.

This patch does exactly that what you describe: it overrides run with a function, even if it were a method before. The fix I’m suggesting doesn’t change that, but at least it works if something else patched that method before Sentry.

Here is a piece of code that runs fine as-is, but breaks on an AttributeError if you use Sentry. That being said, I don’t know how to fix this issue without doing horrible Python sorcery.
from threading import Thread

class MyThread(Thread):
    def run(self):
        print(self.run.__func__)

t = MyThread()
t.start()
t.join()

@fl4p could you check whether #516 works for you? I believe it should at least stop breaking your code, but I wonder if you see any errors even if you run with init(debug=True)

A workaround for this is included in 0.12.3


Add support for multi-arc image mirrorig

Address https://github.com/rancher/rancher/issues/21221.

@cloudnautique @paraglade changes to pushed to address a bug with tagging multiple arch.

Per @ibuildthecloud 's suggestion. Going to take a different approach.


Revert "CDSR-958 Renamed "Risk Classification Error" to "Incorrect Additional Information Code" "

Reverts hmrc/cds-reimbursement-claim#79

Cannot sign


Why the download failed

The reason why these two files failed to download is that the connection timed out???

See https://github.com/packwiz/packwiz-installer/issues/81 - I presume these are being downloaded from Github, so they're blocked?


Small Typo of Weather.scala in Japanese version doc

// in markdown in source is displayed as / on website in browser, therefore core/src/main/scala/example/core/Weather.scala will be fail.
English version is escaping the character correctly.
I would appreciate it if you fix it when you have a time.

Looks like the English version was fixed in https://github.com/sbt/website/pull/767

っていうか、// じゃなくて Scala が \\ にならなきゃいけないので、 Pamflet (StringTemplate 4) だと \\\\ とバックスラッシュ4枚使いする必要があるよっていう話ですね。報告ありがとうございます。


ENH: add plotting method / function for global field power

Since we're polishing our sensor space / EEG edge I thought it would be time for it.
Like here: https://gist.github.com/dengemann/deb5e011d7d6b0c60fa9
cc @agramfort

ping @teonlamont

haha, I had the same idea and forgot about it. seems like this could address https://github.com/mne-tools/mne-python/issues/1939. It could be combined with @jona-sassenhagen's suggestion for auto plotting predefined rois, etc.

Do we need this even though we have the GFP? (We have the GFP right?) If it's about selecting a subset of sensors, can't they do evoked.pick_types(...) or evoked.pick_channels(...).plot_white() now?

ideally, I would like to have some very simple ways to plot contrasts in sensor space. in the way of ERP analysis, it is useful to be able to do one of the following, for a given set of contrasts, e.g. evoked a, and evoked b:

select a single channel and plot the contrast of evoked a and evoked b
select a region of interest (pick several channels) and plot the contrast. for ERP, plot the average over the channels, for ERF, plot the RMS of the channels.
split the channels into pre-defined regions and plot the contrast. ERP, average, ERF, RMS.
(minor addition, the ability to flip the axes for ERPs to be à la mode)

This would be a simple but pretty use addition. it doesn't have to be wrapped in the plot_gfp.  it could be something like plot_contrasts. It's very useful with teaching, and it is still useful with ERP-related research.

GFP is independent of noise cov for the common use case.

@teonlamont can you open a different issue for that, then? The title and most of the discussion of this one is a bit confusing.
@agramfort so you're saying we still need a separate function to plot the GFP?

ok, i just reopened the one I closed. this topic is mostly about gfp, but there were mentions of a general plotting function. so it seemed like this might be a relevant topic

@agramfort https://github.com/agramfort so you're saying we still need
a separate function to plot the GFP?

I would add it to plot evoked method. A green line like brainstorm does it.
http://neuroimage.usc.edu/brainstorm/Tutorials/TutSourceEstimation?action=AttachFile&do=get&target=sources1.gif

Does anyone have time for this one?

I'm +0 on this ... We should mark it 0.10, my 2 cents.

Done, if someone feels passionately about it, let them be the one to implement it for 0.9 :)

What would this entail?  Just a gfp trace at the bottom of evoked.plot() and/or a separate gfp plotting method for Evoked objects?  Are we talking the traditional definition from Lehmann and Skrandies using spatial variance?  I've been computing this a lot recently, so it would be relatively straight forward to implement I think.  I would propose the following:

An option to evoked.plot() called gfp, defaulted to False.  So the call evoked.plot(gfp=True) would produce the brainstorm-like plot that @agramfort mentions.

An Evoked method called plot_gfp, so that the call evoked.plot_gfp() would return only the gfp and not the butterfly.  Perhaps also an optional cov arg, defaulted to None that, if passed, would whiten the Evoked first?  I guess that's maybe not necessary since we already have mne.whiten_evoked().

+1 for 1.

We have 2 already, evoked.plot_white

We have 2 already, evoked.plot_white

I was wondering about that,  but wouldn't it make sense to have a basic method for Evoked objects for plotting just the gfp?

@teonlamont, are you indifferent or -1 on suggestion 2?

I wanted to say that would be complementary.

On 23 Apr 2015, at 12:16, "Andrew R. Dykstra"<EMAIL_ADDRESS>wrote:
@teonlamont, are you indifferent or -1 on suggestion 2?
—
Reply to this email directly or view it on GitHub.

+1 for 1
plot_white is using a noise cov which makes it different.

how about gfp = True/False/'only'

I'd start with True/False but whatever

Do we really need to keep adding stuff just shortly before releasing?
We used to have a 2 week feature addition stop and usually many bugs
emerged and were fixed after that point.
Would it make sense to release in one or two weaks but stop with
implementations of whatever in 2 days?
2015-04-23 14:51 GMT+02:00 Alexandre Gramfort<EMAIL_ADDRESS>
I'd start with True/False but whatever
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/1276#issuecomment-95575497
.

+1000
this was not suggested for 0.9

Ah ok. Sorry then. Anyways. We should stop pushing features and spend more days on bug search and fixing.

Do we really need to keep adding stuff just shortly before releasing?

Doesn't matter to me whether this goes into 0.9 or not - just thought that since no one was picking it up I could.
I'm gathering that folks are -1 on creating separate gfp plots?  That would actually be my main use case, as opposed to including it at the bottom of an evoked butterfly plot.

@adykstra that's why I suggesting an option to gfp that if it is 'only', then it would plot just the gfp and not the butterfly plot. since it's in evoked.plot, it would save on a separate method.

Would gfp=True | False | 'only' work for your case @adykstra?

Definitely, but a separate method to accomplish it seems cleaner and more explicit to me.  I'd be happy with either though.

I think the push to avoid more functions will make it easier just to have a param. @adykstra you up for making a PR? It may or may not make it into 0.9 depending on what we decide regarding a feature freeze, but it sounds like we want it eventually regardless.

you up for making a PR?

Sure.

@dengemann, regarding rank, is estimate_rank from mne.utils sufficient?  For the example data, it returns 67 (65) for grads (mags), and 58 for eeg.  Also, if I understand correctly, the rank of SSS'd MEG data should be estimate jointly for grads and mags?  So ... estimate_rank(evoked.pick_types(meg=True).data)?

Rread the source code of evoked.plot_white and find the answers :)
We have special private functions.

On 25 Apr 2015, at 13:24, "Andrew R. Dykstra"<EMAIL_ADDRESS>wrote:
@dengemann, regarding rank, is estimate_rank from mne.utils sufficient? For the example data, it returns 67 (65) for grads (mags), and 58 for eeg. Also, if I understand correctly, the rank of SSS'd MEG data should be estimate jointly for grads and mags? So ... estimate_rank(evoked.pick_types(meg=True).data)?
—
Reply to this email directly or view it on GitHub.


Support WebSocket ETH1 connections

Infura only supports the eth_newBlockFilter method over web socket connections, not HTTP.  However Teku is hard coded to create a Web3J HttpService instance.  We should detect ws and wss URLs and automatically use the websocket service.
Supporting IPC and WindowsIPC services would also be useful.

talked to adrian, and closing based on that.


Microsoft color palette

Microsoft's brand color palette is a "must-have" for a package like this.
Reference: https://usbrandcolors.com/microsoft-colors/

Closed by d2cef73.


perf: update mask and popup

update mask and popup to the last api

Coverage increased (+0.2%) to 66.384% when pulling<PHONE_NUMBER>2b67797fd2155d978cfe3ae3712bd6 on Thyiad:dev into 38f0c0d6565a38431de5b107c1987a44e432d814 on ZhonganTechENG:dev.


Backup file is for Robotware 6.03, running Robotware 6.06

The backup file is for Robotware 6.03 while the Yumi I'm working with is running on Robotware 6.06. There was a warning on this and when I force the restore backup file, there are errors.
Is it possible for there to be configuration for Yumi 6.06?

Thanks, appreciate the help.

@coverpage sorry I was not able to get around to this before leaving the country for ICRA. I will be back next week (June 4) and should be able to upload the backup. Feel free to bother me again if you don't see it by the end of that week.

Apologies for the delay. The RobotWare 6.06 backup is here


[WIP] add envs/data

Add code&file&assets for neverwhere envs

cp assets files from lucidsim
add readme file for openmvs and gsplat

uploaded 4 scenes:
teacher policy's result on these scene:
https://app.dash.ml/neverwhere/neverwhere/ziyu_playground/1105_test_realscenes


Question about necessary X.shape

Hey,
in sr.py, there is the following assertion assert len(X.shape) == 2, "X        must have shape = (n_dim, data_size,)".
Why must X be in this shape?
Wouldn't it also work with 1-dimensional x and 1-dimensional y data?
Kind regards

Hi @M-Colley,
Sorry for the delayed response.
Yes the package works with 1D X and 1D y.
You can see an example of that here:  https://github.com/WassimTenachi/PhySO/blob/main/demo/demo_damped_harmonic_oscillator/demo_damped_harmonic_oscillator.ipynb
The expected shape of X is (1000, 1) for 1000 datapoints in 1D and (1000,3) for 1000 data points in 3D for example.
This snippet of code just checks that the length of this shape is 2 as this is the expected format !
Kind regards.
Wassim

Please consider closing this issue if this answers your questions !

Ahhh I see, thanks!


Reduce Usage of Unsafe

Remove unnecessary usage of unsafe and replace some unsafe code with equivalent safe code.
The safe implementation of iter::Bytes::slice_skip proposed by this pull request has been benchmarked to be (slightly) slower than the currently used implementation, so if performance is an issue I can revert the changes to that particular method while still keeping my other changes.
shrink cannot be written without using unsafe (there are issues related to temporarily mutably borrowing the slice multiple times simultaneously), so I am ignoring it in this pull request. I might come back later and look at how shrink is used to see if something safer can be used instead.
I also ignored usage of str::from_utf8_unchecked since it seems apparent that whenever it is used in this crate the bytes passed in have already been checked for utf-8 compliance and so checking again would be redundant.

Thanks so much for filing this! I'll take a look through now :)

I was curious how the extra bounds checks would perform, so when I run the benchmarks of master vs this PR, here's what I see:

master:
test bench_httparse       ... bench:         569 ns/iter (+/- 103) = 1265 MB/s
test bench_httparse_short ... bench:          67 ns/iter (+/- 1) = 1014 MB/s

PR:
test bench_httparse       ... bench:         701 ns/iter (+/- 67) = 1027 MB/s
test bench_httparse_short ... bench:          80 ns/iter (+/- 1) = 850 MB/s

That looks similar to the results that I got from running the benchmarks. I've played around with benchmarking different subsets of the pull request and the greatest portion of the performance difference definitely seems to come from slice_skip.

A lot has been refactored since, so I'll close.


added footer on Examples page.

Thank you for your work @AshishRajIITI . The sidebar is overlapping with the footer so you need to fix that either by changing the height of the sidebar or change the z-index of the footer.

Okay, @shahednasser. I will try to fix it up.

@shahednasser ma'am, I am really sorry. I am not able to fix this this particular issue. :(

It's ok @AshishRajIITI thank you for your work


Frontend using linalg.transpose named op introduces huge regressions

We observed the regressions (for both number of dispatches and latency) when doing integrate in https://github.com/openxla/iree/pull/16055. The commit is reverted locally in IREE. We should fix the issue and drop the revert.
Leaving what I've found below. There could be other issues.

It somehow provides opportunities to hoist more const expr in IREE. This should not introduce regression, but it is weird to me.
It makes RaiseSpecialOps convert transpose + matmul to matmul_transpose_b. The backends are mostly focusing on matmul without transpose variants, so there are large regressions.
If we disable the conversion in (2), it generates below patterns in MobileBertFP32. There are opportunities to fuse elementwise (%1196) with following 4 transpose ops, but it looks not trivial. IR dump of this option can be found at here.

    %1189 = flow.tensor.update %1182, %37[%c0, %c0] : tensor<384x384xf32> -> %37 as tensor<1536x384xf32>
    %1190 = flow.tensor.update %1184, %1189[%c384, %c0] : tensor<384x384xf32> -> %1189 as tensor<1536x384xf32>
    %1191 = flow.tensor.update %1186, %1190[%c768, %c0] : tensor<384x384xf32> -> %1190 as tensor<1536x384xf32>
    %1192 = flow.tensor.update %1188, %1191[%c1152, %c0] : tensor<384x384xf32> -> %1191 as tensor<1536x384xf32>
    %1193 = flow.tensor.reshape %1192 : tensor<1536x384xf32> -> tensor<4x384x384xf32>
    %1194 = flow.dispatch @main_dispatch_19::@main_dispatch_19_generic_4x384x384_f32(%1193, %5) : (tensor<4x384x384xf32>, tensor<384x384xf32>) -> tensor<4x384x384xf32>
    %1195 = flow.dispatch @main_dispatch_20::@main_dispatch_20_softmax_4x384x384xf32(%1194) : (tensor<4x384x384xf32>) -> tensor<4x384x384xf32>
    %1196 = flow.dispatch @main_dispatch_9::@main_dispatch_9_generic_384x4x32_f32(%1174, %cst_72) : (tensor<384x4x32xf32>, tensor<4x32xf32>) -> tensor<4x384x32xf32>
    %1197 = flow.dispatch @main_dispatch_22::@main_dispatch_22_transpose_32x384_f32(%1196) : (tensor<4x384x32xf32>) -> tensor<384x32xf32>
    %1198 = flow.dispatch @main_dispatch_23::@main_dispatch_23_matmul_384x32x384_f32(%1195, %1197) : (tensor<4x384x384xf32>, tensor<384x32xf32>) -> tensor<384x32xf32>
    %1199 = flow.dispatch @main_dispatch_24::@main_dispatch_24_transpose_32x384_f32(%1196) : (tensor<4x384x32xf32>) -> tensor<384x32xf32>
    %1200 = flow.dispatch @main_dispatch_25::@main_dispatch_25_matmul_384x32x384_f32(%1195, %1199) : (tensor<4x384x384xf32>, tensor<384x32xf32>) -> tensor<384x32xf32>
    %1201 = flow.dispatch @main_dispatch_26::@main_dispatch_26_transpose_32x384_f32(%1196) : (tensor<4x384x32xf32>) -> tensor<384x32xf32>
    %1202 = flow.dispatch @main_dispatch_27::@main_dispatch_27_matmul_384x32x384_f32(%1195, %1201) : (tensor<4x384x384xf32>, tensor<384x32xf32>) -> tensor<384x32xf32>
    %1203 = flow.dispatch @main_dispatch_28::@main_dispatch_28_transpose_32x384_f32(%1196) : (tensor<4x384x32xf32>) -> tensor<384x32xf32>
    %1204 = flow.dispatch @main_dispatch_29::@main_dispatch_29_matmul_384x32x384_f32(%1195, %1203) : (tensor<4x384x384xf32>, tensor<384x32xf32>) -> tensor<384x32xf32>

Thanks for the bug... I probably wont have time to look more till a day or so. Let me know if thats OK.

Thanks for the bug... I probably wont have time to look more till a day or so. Let me know if thats OK.

I think it is okay. I just need to put this issue to LLVM integrate tracking issue, doing it now.


Adding Google KickStart solution in C++

List of changes :

Adding Google Kickstart 2020 Round H Problem A Solution in C++
Adding sample-input.txt
Adding sample-output.txt

if there anything I need to add or fix, feel free to give a feedback

Thanks for your contribution @Dimas-Saputra-Me 🎈


Do not see most images in chrome or safari on first load

Using chrome 14 and safari 5 for mac.
Noticed on initial page load that width of the  is way to small to display all the images in chrome and safari. The width in FF is fine. Eventually the UL will grow enough where all the images can be seen. Some kind of javascript issue with chrome and safari.
I tested setting .jcarousel-list {width: 1681px;} and will probably work to fix the initial width problem.

Had the same problem with the .2 branch version.
In the meantime I made this hack to set the initial width of UL.
On line 159 I set the initial width where the var wh is declared. In our case we need a image strip 1651px wide so did this:
var wh = 1651
This fixed our disappearing image problem.


Error build tdlib on Linux

td/td/telegram/TdDb.cpp:563:32: error: ‘max_element’ is not a member of ‘std’; did you mean ‘tuple_element’?
  563 |      << " elements: " << *std::max_element(prev.begin(), prev.end()) << "\n";
      |                                ^~~~~~~~~~~
      |                                tuple_element

Thanks! Fixed in master.


Expose core classes for custom usage

Description

The way I am using the CityJSON parser differs to the general implementation available within the core exports
For example, CityJSONWorkerParser does a lot though I want more control and customisation over geometry generation
Another example is to implement a parser into my own worker scripts (CityJSONWorkerParser tries to create its own worker)
Or I may want to create an entirely different data management mechanism like streams, or worker pools
Manually accessing ChunkParser has been helpful for me but it's not accessible via the root / index file

Expectation

Expose all the useful classes from the parser in the root / index file (at least ChunkParser and GeometryParser)
Core classes can be used to perform basic parsing so I can perform my own geometry processing or mesh / material application

Thanks for the remark! The plan is to have all classes available to the user so that they can use composition to enable whatever behaviour the want (or to extend the functionality). I was just lazy to do it so far, as I am still experimenting with things. 😇
Except for just exposing these files through the index, do you think there is a way that ChunkParser and GeometryParser can become more extensible? I am worried that these classes might be already a bit overloaded and could be decomposed even further.


Fix some bug risks and code quality issues

Changes:

Fix undefined name error in __process_paragraph method
Remove some unused imports
Add .deepsource.toml file to file to run continuous static analysis on the repository with DeepSource

This PR also adds .deepsource.toml configuration file to run static analysis continuously on the repo with DeepSource. Upon enabling DeepSource, quality and security analysis will be run on every PR to detect 500+ types of problems in the changes — including bug risks, anti-patterns, security vulnerabilities, etc.
DeepSource is free to use for open-source projects, and is used by teams at NASA, Uber, Slack among many others, and open-source projects like ThoughtWorks/Gauge, Masonite Framework, etc.
To enable DeepSource analysis after merging this PR, please follow these steps:

Sign up on DeepSource with your GitHub account and grant access to this repo.
Activate analysis on this repo here.
You can also look at the docs for more details. Do let me know if I can be of any help!

Thanks for PR, I was working on new version of Profile class. Can you check branch improvement/profile-class ?

@bisguzar I ran analysis on improvement/profile-class most of the issues are fixed, you can see the result

Got it, but this PR has conflicts now. As I said I updated Profile.py recently. If you revert your commits which one effects on profile.py or resolve conflicts, I can merge it succesfully. Thanks again for your efforts

@bisguzar I have resolved conflicts

Thanks again, I'm merging it. I will deep search this tool and optimize it asap 🎉🎉


complexfunc: local-scope header-defined funcs

Fixes duplicate symbols issues when linking.
Non-class-member inline funcs need to be marked static.
Class member funcs need to be marked 'inline' at definition,
and do not need to be marked inline inside class declaration.

CC @Infinoid Please have a look at these changes and see if the can be included in your Halide PR.  Is it appropriate to add a test for duplicate symbols?  If you prefer a different approach, we can also look at it.  Thanks.

I don't mind including this in the Halide PR.  But I'd like to understand it a little better.  Seems like some things had the inline keyword added, others had the static keyword added.  Should we just make everything static?  I don't see a good reason not to.  This class is only syntactic sugar over Halide types; its ABI should be basically nonexistent.
All of this stuff runs in the generator, not the final app, so the inlining isn't important at all for runtime performance.  But if there are linker issues, I'm very motivated to fix those.  What errors were you seeing?

@Infinoid Yeah, the linking errors are due to duplicate symbols because the functions end up defined in each file that includes this header. The fix is just to make all functions defined in a header local scope. This is classic with non-member functions -- they just need to be marked static. But to handle inline member functions, I had to look it up (since static has a totally different meaning for class members of course) -- google said that one option is to mark inline at the definition (rather the method declaration in the class), and it seemed most consistent option to me, iirc.
So, I (1) marked non-member functions as static scope, (2) moved the 'inline' from declaration to definition of constructors that were marked inline, and (3) marked members inline that were not inline originally -- not sure why i did (3), maybe just an intermediate artifact when trying to fix the issue, but (3) should be revertible if you prefer.
I have no idea what this code does (I just built it) so won't comment whether those class methods need to be static or instance.

@acolinisi Makes sense.  Thanks!

This has been on back of my head today, actually I'm no longer sure that (3) is optional. The crux of the situation is that the member funcs are defined in the header AND outside of the class declaration. The case where funcs are inside the class decl is simpler, just works, but once the definitions are outside, how can the compiler know to not define them in each compilation unit -- the 'inline' at the definition might be the only indicator, so more than a hint. If so, then (3) is necessary.
Of course, should look up or try things out again to find out, but why try things out when I can just type useless guesses in this text box...


fix(context-menu): added js to keep context menu inside window bounds

What this PR does 📖

Which issue(s) this PR fixes 🔨

Resolve #

Special notes for reviewers 🗒
might need some changes if the context overflows both sides on the same axis
Additional comments 🎤

Great work!


Method signature can overlap on the [source] link

Describe the bug
In some cases, the method signature can overlap on the [source] link.
Here's a preview:
https://jack1142-minimal-repro.readthedocs.io/en/latest/
And a bit different one (with usage of sphinxcontrib_trio extension):
https://jack1142-red-prs.readthedocs.io/en/v3-some_furo_stuff/framework_commands.html#redbot.core.commands.help.RedHelpFormatter.help_filter_func
To Reproduce
The code of minimal repro is here:
https://github.com/jack1142/furo/tree/issue_108_minimal_repro
Expected behavior
I expected the method signature to wrap appropriately.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: Chrome 89, Opera 74, Firefox 86, Edge 89
Screen Width: over 830px (I have 1080p screen)

Smartphone (please complete the following information):
Doesn't happen on my smartphone (Galaxy S20, Android 11, Chrome 89), although it does seem that some contents don't get wrapped causing horizontal scrolling to be required.
Additional context
Add any other context about the problem here.

Can't reproduce this on my end, on a 1080p screen, full-screen window. :/

@pradyunsg that looks like you have sphinxcontrib_trio extension installed and enabled. I had that pushed in one of previous builds I generated but I changed it later to not include this. Only the second example was built with that extension installed and enabled.

Well, I just visited https://jack1142-red-prs.readthedocs.io/en/v3-some_furo_stuff/framework_commands.html#redbot.core.commands.help.RedHelpFormatter.help_filter_func
None the less, I think I know what's happening; and this needs fun hacks to work around the issue here. :(

Fixed in bb46d32aa4a977a0c825ec14b82fbfd04be4f0a4, I think. :)

I've run a build on the latest commit and it seems to work fine on the second example:
https://jack1142-red-prs.readthedocs.io/en/v3-some_furo_stuff/framework_commands.html#redbot.core.commands.help.RedHelpFormatter.help_filter_func

However, the repro at https://jack1142-minimal-repro.readthedocs.io/en/latest/ still doesn't seem to wrap for me:

Ah, fun. Return type annotations.
PS: Dear past me, why did you close this without making a release or waiting for a response? 🙃

1574348b19a857910ebb72947c2c3ed43301dd0d should help. Feel free to close this if this works! I'mma make a release sometime this weekend. :)

Appears to be working fine now, awesome!

Awesome!


nextcord.ext.commands is missing a py.typed file

Summary
nextcord.ext.commands is missing a py.typed file for type checkers
Reproduction Steps

Install pyright, using (p)npm/yarn or an editor extension
Enable strict mode
Use below code
See error listed in actual results

Minimal Reproducible Code
from nextcord.ext.commands import command

Expected Results
nextcord.ext.commands to be recognised to have inline PEP484 type hints.
Actual Results
Stub file not found for "nextcord.ext.commands"Pylance[reportMissingTypeStubs](https://github.com/microsoft/pylance-release/blob/main/DIAGNOSTIC_SEVERITY_RULES.md#diagnostic-severity-rules)

Intents
N/A
System Information
- Python v3.10.4-final
- nextcord v2.1.0-final
- aiohttp v3.8.1
- system info: Linux 5.15.0-43-generic #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shown the entire traceback, if possible.
[X] I have removed my token from display, if visible.

Additional Context
No response

cannot reproduce

I can do this


1.3.0 panic: runtime error: slice bounds out of range [1:0]

Which version are you using?
v1.3.0
Which operating system are you using?

[ ] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ x] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
when publish by chrome: http://<IP_ADDRESS>:8889/publish, it will crash.
Describe how to replicate the issue

start the server
publish with(http://<IP_ADDRESS>:8889/publish)
read with chrome

Did you attach the server logs?
2023/11/13 09:55:17 INF MediaMTX v1.3.0
2023/11/13 09:55:17 INF configuration loaded from D:\Bible\OBS\mediamtx.yml
2023/11/13 09:55:17 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2023/11/13 09:55:17 INF [RTMP] listener opened on :1935
2023/11/13 09:55:17 INF [HLS] listener opened on :8888
2023/11/13 09:55:17 INF [WebRTC] listener opened on :8889 (HTTP), :8189 (ICE/UDP)
2023/11/13 09:55:17 INF [SRT] listener opened on :8890 (UDP)
panic: runtime error: slice bounds out of range [1:0]
goroutine 58 [running]:
github.com/bluenviron/mediamtx/internal/protocols/httpserv.(*handlerExitOnPanic).ServeHTTP.func1()
/s/internal/protocols/httpserv/handler_exit_on_panic.go:21 +0x5e
panic({0x18af3a0?, 0xc0002520f0?})
/usr/local/go/src/runtime/panic.go:914 +0x21f
github.com/bluenviron/mediamtx/internal/core.(*webRTCHTTPServer).onRequest(0xc0001910b0, 0xc0004a8300)
/s/internal/core/webrtc_http_server.go:352 +0x8f3
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.serveError(0xc0004a8300, 0x194, {0x205cb50, 0x12, 0x12})
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:656 +0x4b
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc000196340, 0xc0004a8300)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:649 +0x485
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc000196340, {0x1a885b0?, 0xc00052e180}, 0xc0004a8100)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd

yes / no
Did you attach a network dump?

yes / no

thanks for reporting the issue, this was present in versions before 1.3.0 too and happened when reading with WebRTC from path "publish".


Time(t) as a basis?

Is it possible to have just time(t) as a basis along with u1(t), u2(t) etc..?

In theory, you can handle t just as you would handle u1 u2 u3etc. So append it to the variables passed in like
b = Basis(eqs, [u...; t])

And append a row to the data matrix.
However, this is not handled well in the current dynamics(b) / ODESystem(b). But I will get onto that in the next few days.

Cool..Thanks!

Todo : Add this to the examples.

Closed via #60


Cassandra 18118 4.0

Thanks for sending a pull request! Here are some tips if you're new here:

Ensure you have added or run the appropriate tests for your PR.
Be sure to keep the PR description updated to reflect all changes.
Write your PR title to summarize what this PR proposes.
If possible, provide a concise example to reproduce the issue for a faster review.
Read our contributor guidelines
If you're making a documentation change, see our guide to documentation contribution

Commit messages should follow the following format:
<One sentence description, usually Jira title or CHANGES.txt summary>

<Optional lengthier description (context on patch)>

patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####

Co-authored-by: Name1 <email1>
Co-authored-by: Name2 <email2>

The Cassandra Jira

CI j8
CI j11
Bot CI lgtm. The j8 failure is a circle env problem pulling docker images and we can see in other runs it is good. The j11 is CASSANDRA-17245


performance issues on submission

This issue is related to PR #432
When submitting with a large number of collection available, after the page is fully loaded a slowdown occurs with the interaction of the form.
This is due to the way the collection list is retrieved when submission page is loading.
Even if the submission page seems to be loaded, the submission-form-collection.component.ts is still retrieving the collection list by using getAuthorizedCollectionByCommunity. Unfortunately to have the entire collection list we need the entire community list, but this cause an extremely expensive REST call (because of fetching all logos and licenses) that is the cause the delay reported.
A possible solution should be to add, on REST side, a parent link to the collection model, in order to retrieve parent community information from collection

This issue is dependent on this REST API ticket: https://jira.lyrasis.org/browse/DS-4504
Once there's a way in the REST API to provide a list of Collections you can submit to (in a performant way), then we will need to update both the (optional) Collection dropdown in the submission UI as well as the Collection selector in the Admin side menu.

Closing, as fixed by https://github.com/DSpace/DSpace/pull/2771


[BUG] Rancher2 Terraform Seems To Have Issues Provisioning RKE2 Clusters w/ v1.3.2

Describe The Bug

when creating a vCluster addon based Rancher on Harvester, importing Harvester and then setting up Rancher2 Terraform Provider with vCluster Rancher there seems to be issues provisioning RKE2 clusters on Harvester with:

[v1.29.8+rke2r1, v1.27.16+rke2r2, v1.28.13, v1.30.4] , any of those versions to "start"
tested with callico, cilium, and canal -> all similar outcomes

Workaround

it's interesting, pretty much, when the cluster starts provisioning the VM (kubelet, etcd, etc.) start to be displayed in the "provisioning log" from Rancher v2.9.1 , the way around it, is to just "upgrade" the cluster from the UI, like bumping "v1.29.8" -> "v1.30.4", and that seems to fix everything
otherwise, the cluster just seems to hang at "waiting for node to register"

vCluster Loadout:

https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester-k8-crds/harvester-vcluster-enablement.yaml

Terraform Loadout:

this terraform, with exceptions of the few bugs in the README.md within the folder accomplishes the following:

builds 2 VirtualMachineImages ( one for rke2 cluster & one for minio )
sets up a 2 VM Networks on MGMT ( one for rke2 cluster & one for minio )
creates a VM for MinIO, that stands up MinIO with a bucket/key/secretkey/etc. all the configuration via Ansible
creates two cloud credentials, one for the imported harvester cluster, one for S3 bucket information
builds out the machine config & rke2 cluster ( setting up etcd snapshots to point to the MinIO Harvester VM instance )

https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester-terraform-and-rke2/main.tf

To Reproduce:

git clone: https://github.com/irishgordo/rancher-harvester-demo/tree/main
ensure ansible is installed (and in $PATH) + ansible dependencies ( highlighted in readme, for brevity: ansible-galaxy collection install ansible.posix , ansible-galaxy collection install community.general ) + also ensure sshpass is present
in harvester-k8s-crds dir, modify: https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester-k8-crds/harvester-vcluster-enablement.yaml , to change "hostname" additionally password if desired , then run: https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester-k8-crds/setup-vcluster.sh
once vCluster is up and running validate that you can log in
in vCluster Rancher v2.9.1, build an API key copy the info down, modify https://github.com/irishgordo/rancher-harvester-demo/blob/c1389fec9a6498d3d2d960fda2925118b8886c3c/harvester-terraform-and-rke2/variables.tf#L241-L260 to update to your new api key
in vCluster Rancher v2.9.1, import the Harvester v1.3.2 cluster as name: harvester132
in vCluster Rancher v2.9.1, download your Harvester (harvester132) Kubeconfig YAML from vCluster Rancher, replacing: https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester132.yaml
in Harvester v1.3.2 download the Kubeconfig, and replace it in: https://github.com/irishgordo/rancher-harvester-demo/blob/main/integration-cluster-kubeconfig.yaml
inside the folder of https://github.com/irishgordo/rancher-harvester-demo/tree/main/harvester-terraform-and-rke2 run TF_LOG=TRACE terraform init -reconfigure -upgrade
in same folder as last step run TF_LOG=TRACE TF_LOG_PROVIDER=DEBUG terraform apply -auto-approve
the apply will fail the first time with Error: Provider produced inconsistent final plan , don't worry, this is a bug, just run: TF_LOG=TRACE TF_LOG_PROVIDER=DEBUG terraform apply -auto-approve it again
keep an eye in Rancher -> Clusters and when you see the cluster reach the "calico" stage -> then "waiting to register" you'll notice it's entirely hung
navigate to Harvester -> VMs -> find the RKE2 VM -> ssh ubuntu@the-vm-ipv-address w/ password: ubuntupw -> then sudo cat /etc/rancher/rke2/rke2.yaml -> toss in clipboard -> then build a kubeconfig file and just k9s to view the VM's IPV4 RKE2 v1.29 and you'll notice "calico" pod is just stuck... NOTE (this is also noticed similarly w/ Cilium & Canal -> the main networking pod(s) of those CNIs also just seem to be "hung")
upgrade the RKE2 cluster to a new version from Rancher while keeping an eye on K9s, you'll see pods roll, and then all of a sudden things seem to spring back to life, the calico pod somehow becomes fixed, other helm operations and cattle-cluster things seem to look good and all of a sudden once upgrade to v1.30, the cluster seems to be fine

Expected Behavior:

the ability to with Terraform from Harvester & Rancher2 , be able to provision a cluster "as is" at it's "desired version", with any CNI, without needing to "upgrade" the cluster to have it be "fixed" (so that the terraform doesn't time out and continues/finishes)

Additional Context:

Rancher v2.9.1
vCluster Addon Used
Harvester v1.3.2
Rancher2 Terraform Provider: 5.0.0 ALSO noticable on 4.2.0
Harvester Terraform Provider:  0.6.4
Ansible Terraform Provider: 1.3.0
Setup: "bare-metal" HP DL160s

NOTE: do not change:
{
   "disks": [{
       "imageName": "${harvester_image.rke2-jammy-img.id}",
       "size": ${var.rke2_pool_node_disk_size},
       "bootOrder": 1
   }]
}

To:
{
   "disks": [{
       "imageName": "default/${harvester_image.rke2-jammy-img.id}",
       "size": ${var.rke2_pool_node_disk_size},
       "bootOrder": 1
   }]
}

This seems to be another bug or perhaps a doc issue, as if you prepend the image id with a default/ you'll be greeted by the error of:
    Error with pre-create check: "unexpected namespacedName format
   (\"default/default/rke2-jammy-img\"), expected \"namespace/name\" or
   \"name\". "

From the bigger message in:
  failureMessage: >-
   Failure detected from referenced resource rke-machine.cattle.io/v1,
   Kind=HarvesterMachine with name "rke2-terraform-pool1-ndtxd-fjxvd":
   Downloading driver from
   https://rancher.<IP_ADDRESS>.sslip.io/assets/docker-machine-driver-harvester

   Doing /etc/rancher/ssl

   docker-machine-driver-harvester

   docker-machine-driver-harvester: ELF 64-bit LSB executable, x86-64, version
   1 (SYSV), statically linked, stripped

   Trying to access option  which does not exist

   THIS ***WILL*** CAUSE UNEXPECTED BEHAVIOR

   Type assertion did not go smoothly to string for key

   Running pre-create checks...

   Error with pre-create check: "unexpected namespacedName format
   (\"default/default/rke2-jammy-img\"), expected \"namespace/name\" or
   \"name\". "
 failureReason: CreateError
 lastUpdated: '2024-09-13T23:02:02Z'
 observedGeneration: 3

As it seems that it for some reason is already prepending the image-id with default/ currently...

Note this isn't only applicable to vCluster instances:
A separate loadout was:

a VM 4C 8Gi RAM
RKE2 (latest), v1.30.4+rke2r1
Rancher v2.9.1
Harvester v1.3.2, imported

It still is causing the same effect.
Sample flow:
On VM:
ubuntu@rke2vmnew:~$ curl -sfL https://get.rke2.io | sudo sh -
[INFO]  finding release for channel stable
[INFO]  using v1.30.4+rke2r1 as release
[INFO]  downloading checksums at https://github.com/rancher/rke2/releases/download/v1.30.4+rke2r1/sha256sum-amd64.txt
[INFO]  downloading tarball at https://github.com/rancher/rke2/releases/download/v1.30.4+rke2r1/rke2.linux-amd64.tar.gz
[INFO]  verifying tarball
[INFO]  unpacking tarball file to /usr/local
ubuntu@rke2vmnew:~$ sudo systemctl enable rke2-server.service
Created symlink /etc/systemd/system/multi-user.target.wants/rke2-server.service → /usr/local/lib/systemd/system/rke2-server.service.
ubuntu@rke2vmnew:~$ sudo systemctl start rke2-server.service
ubuntu@rke2vmnew:~$ sudo cat /etc/rancher/rke2/rke2.yaml

On Host:
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --set installCRDs=true --version=v1.15.2

kubectl create namespace cattle-system

helm install rancher rancher-stable/rancher \
  --version 2.9.1 \
  --namespace cattle-system \
  --set hostname=rancher.<IP_ADDRESS>.sslip.io \
  --set global.cattle.psp.enabled=false \
  --set bootstrapPassword=testtesttest \
  --set replicas=1 \
  --debug

Calico Node (again common with cilium, others) in the pods seems to be having all sorts of issues:
le.crt"
calico-node 2024-09-17 18:50:28.423 [INFO][392] tunnel-ip-allocator/config_params.go 671: Parsed value for TyphaCAFile: /etc/pki/tls/certs/tigera-ca-bund
le.crt (from environment variable)
calico-node 2024-09-17 18:50:28.423 [INFO][392] tunnel-ip-allocator/config_params.go 635: Parsing value for TyphaK8sNamespace: calico-system (from enviro
nment variable)
calico-node 2024-09-17 18:50:28.423 [INFO][392] tunnel-ip-allocator/config_params.go 671: Parsed value for TyphaK8sNamespace: calico-system (from environ
ment variable)
calico-node 2024-09-17 18:50:28.425 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHAK8SSERVICENAME=calico-typha
calico-node 2024-09-17 18:50:28.425 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHAK8SNAMESPACE=calico-system
calico-node 2024-09-17 18:50:28.426 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHAKEYFILE=/node-certs/tls.key
calico-node 2024-09-17 18:50:28.426 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHACERTFILE=/node-certs/tls.crt
calico-node 2024-09-17 18:50:28.426 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHACAFILE=/etc/pki/tls/certs/tigera-ca-bundle.crt
calico-node 2024-09-17 18:50:28.426 [INFO][392] tunnel-ip-allocator/config.go 62: Found FELIX_TYPHACN=typha-server
calico-node 2024-09-17 18:50:28.426 [INFO][392] tunnel-ip-allocator/discovery.go 172: Creating Kubernetes client for Typha discovery...
calico-node 2024-09-17 18:50:28.426 [WARNING][392] tunnel-ip-allocator/winutils.go 150: Neither --kubeconfig nor --master was specified.  Using the inClu
sterConfig.  This might not work.
calico-node 2024-09-17 18:50:28.427 [INFO][392] tunnel-ip-allocator/discovery.go 188: (Re)discovering Typha endpoints using the Kubernetes API...
calico-node 2024-09-17 18:50:28.432 [ERROR][392] tunnel-ip-allocator/discovery.go 228: Didn't find any ready Typha instances.
calico-node 2024-09-17 18:50:28.432 [FATAL][392] tunnel-ip-allocator/startsyncerclient.go 49: Typha discovery enabled but discovery failed. error=Kuberne
tes service missing IP or port
calico-node 2024-09-17 18:50:28.627 [ERROR][53] felix/discovery.go 228: Didn't find any ready Typha instances.
calico-node 2024-09-17 18:50:28.627 [ERROR][53] felix/daemon.go 351: Typha discovery enabled but discovery failed. error=Kubernetes service missing IP or
 port

And again, these all disappear with the workaround implemented

Adding regression label to this, but willing to remove if this is a configuration issue :smile:

FYI, have a test run on test_z_terraform_rancher.py and PASS:
Environment

harvester-v1.3.2

Profile: Single node QEMU/KVM (16C/32G/500G)

rancher-v2.9.1

Profile: rancher-vcluster (rancher/k3s:v1.29.8-k3s1)
Guest Cluster

Image: ubuntu-22.04-jammy-server-cloudimg-amd64.img
Profile: Single node v1.30.4+rke2r1

Result

rancher-vcluster-r291-k129.yamlapiVersion: v1
kind: Namespace
metadata:
  name: rancher-vcluster
---
apiVersion: harvesterhci.io/v1beta1
kind: Addon
metadata:
  name: rancher-vcluster
  namespace: rancher-vcluster
  labels:
    addon.harvesterhci.io/experimental: "true"
spec:
  enabled: false
  repo: https://charts.loft.sh
  version: "v0.19.0"
  chart: vcluster
  valuesContent: |-
    hostname: ""
    rancherVersion: "v2.9.1"
    bootstrapPassword: ""
    vcluster:
      image: rancher/k3s:v1.29.8-k3s1
    sync:
      ingresses:
        enabled: "true"
    syncer:
      resources:
        limits:
          memory: 8Gi
    init:
      manifestsTemplate: |-
        apiVersion: v1
        kind: Namespace
        metadata:
          name: cattle-system
        ---
        apiVersion: v1
        kind: Namespace
        metadata:
          name: cert-manager
          labels:
            certmanager.k8s.io/disable-validation: "true"
        ---
        apiVersion: helm.cattle.io/v1
        kind: HelmChart
        metadata:
          name: cert-manager
          namespace: kube-system
        spec:
          targetNamespace: cert-manager
          repo: https://charts.jetstack.io
          chart: cert-manager
          version: v1.5.1
          helmVersion: v3
          set:
            installCRDs: "true"
        ---
        apiVersion: helm.cattle.io/v1
        kind: HelmChart
        metadata:
          name: rancher
          namespace: kube-system
        spec:
          targetNamespace: cattle-system
          repo: https://releases.rancher.com/server-charts/stable/
          chart: rancher
          version: {{ .Values.rancherVersion }}
          set:
            ingress.tls.source: rancher
            hostname: {{ .Values.hostname }}
            replicas: 1
            global.cattle.psp.enabled: "false"
            bootstrapPassword: {{ .Values.bootstrapPassword | quote }}
          helmVersion: v3

Only change Rancher and K3s versionharvester-node-0:~ # diff rancher-vcluster-r291-k129.yaml rancher-vcluster.yaml
20c20
<     rancherVersion: "v2.9.1"
---
>     rancherVersion: "v2.8.2"
23c23
<       image: rancher/k3s:v1.29.8-k3s1
---
>       image: rancher/k3s:v1.27.10-k3s2

Ref. https://raw.githubusercontent.com/harvester/experimental-addons/main/rancher-vcluster/rancher-vcluster.yaml

Hi @irishgordo, I can't reproduce the issue, either. My harvester version is v1.3.2 and Rancher version is v2.9.1. Following are my steps:

Import harvester to rancher as harv1.
Use generate_addon.sh to create kubeconfig.
Save the kubeconfig as rke2-demo-kubeconfig.
Create default/vlan1 and default/focal-image.
Create main.tf.

# Get imported harvester cluster info
data "rancher2_cluster_v2" "harv" {
  name = "harv1"
}

# Create a new Cloud Credential for an imported Harvester cluster
resource "rancher2_cloud_credential" "harv-cred" {
  name = "harv-cred1"
  harvester_credential_config {
    cluster_id = data.rancher2_cluster_v2.harv.cluster_v1_id
    cluster_type = "imported"
    kubeconfig_content = data.rancher2_cluster_v2.harv.kube_config
  }
}

# Create a new rancher2 machine config v2 using harvester node_driver
resource "rancher2_machine_config_v2" "rke2-machine" {
  generate_name = "rke2-machine"
  harvester_config {
    vm_namespace = "default"
    cpu_count = "2"
    memory_size = "4"
    disk_info = <<EOF
    {
        "disks": [{
            "imageName": "default/focal-image",
            "size": 15,
            "bootOrder": 1
        }]
    }
    EOF
    network_info = <<EOF
    {
        "interfaces": [{
            "networkName": "default/vlan1"
        }]
    }
    EOF
    ssh_user = "ubuntu"
    user_data = <<EOF
    package_update: true
    packages:
      - qemu-guest-agent
      - iptables
    runcmd:
      - - systemctl
        - enable
        - '--now'
        - qemu-guest-agent.service
    password: test
    chpasswd:
      expire: false
    ssh_pwauth: true
    EOF
  }
}

resource "rancher2_cluster_v2" "rke2-3" {
  name = "rke2-demo"
  kubernetes_version = "v1.28.10+rke2r1"
  rke_config {
    machine_pools {
      name = "pool1"
      cloud_credential_secret_name = rancher2_cloud_credential.harv-cred.id
      control_plane_role = true
      etcd_role = true
      worker_role = true
      quantity = 1
      unhealthy_node_timeout_seconds = 0
      machine_config {
        kind = rancher2_machine_config_v2.rke2-machine.kind
        name = rancher2_machine_config_v2.rke2-machine.name
      }
    }

    machine_selector_config {
      config = yamlencode({
        cloud-provider-config = file("${path.module}/rke2-demo-kubeconfig")
        cloud-provider-name = "harvester"
      })
    }

    machine_global_config = <<EOF
cni: "calico"
disable-kube-proxy: false
etcd-expose-metrics: false
EOF

    upgrade_strategy {
      control_plane_concurrency = "1"
      worker_concurrency = "1"
    }

    etcd {
      snapshot_schedule_cron = "0 */5 * * *"
      snapshot_retention = 5
    }

    chart_values = <<EOF
harvester-cloud-provider:
  clusterName: rke2-3
  cloudConfigPath: /var/lib/rancher/rke2/etc/config-files/cloud-provider-config
EOF
  }
}

Create provider.tf.

terraform {
  required_providers {
    rancher2 = {
      source  = "rancher/rancher2"
      version = "4.2.0"
    }
  }
}

# Configure the Rancher2 provider to admin
provider "rancher2" {
  api_url    = <rancher_api_url>
  access_key = <rancher_access_key>
  secret_key = <rancher_secret_key>
  insecure   = true
}

Run terraform init.
Run terraform apply.

Thanks @FrankYang0529 @albinsun for the help :smile:
This was a configuration issue that has been resolved.
All documented in:

https://github.com/irishgordo/rancher-harvester-demo/blob/main/harvester-terraform-and-rke2/README.md

I'm going to go ahead and close this out :+1:


system test prerequisite problem - zip file is empty

https://openj9-jenkins.osuosl.org/job/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/546
21:47:20  build-java:
21:47:20      [javac] Compiling 58 source files to /Users/****/workspace/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/aqa-tests/system/STF/stf.core/bin
21:47:20      [javac] error: error reading /Users/****/workspace/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/aqa-tests/systemtest_prereqs/junit/junit.jar; zip file is empty
21:47:20      [javac] error: error reading /Users/****/workspace/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/aqa-tests/systemtest_prereqs/junit/hamcrest-core.jar; zip file is empty
21:47:20      [javac] error: error reading /Users/****/workspace/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/aqa-tests/systemtest_prereqs/log4j/log4j-api.jar; zip file is empty
21:47:20      [javac] error: error reading /Users/****/workspace/Test_openjdk17_j9_extended.system_x86-64_mac_Nightly_testList_1/aqa-tests/systemtest_prereqs/log4j

@llxia fyi

This is a known issue with Jenkins copyArtifacts on UNB machine.
00:17:31.891  Timeout set to expire in 1 hr 0 min
[Pipeline] {
[Pipeline] copyArtifacts
01:17:31.892  Cancelling nested steps due to timeout
[Pipeline] }
[Pipeline] // timeout
[Pipeline] echo
01:17:32.069  Exception: org.jenkinsci.plugins.workflow.steps.FlowInterruptedException
[Pipeline] echo
01:17:32.071  Cannot run copyArtifacts from test.getDependency/systemtest.getDependency. Skipping copyArtifacts...

The solution for https://github.com/adoptium/aqa-tests/issues/4500 resolved the get dependencies (logic in TKG) - test.getDependency  for all tests except for system tests. And it worked as expected. systemtest.getDependency has its own logic (in both STF and aqa-systemtest repo). It does not align with the logic in TKG.
If we want to pre-stage system test libs on the machines (same as the rest of tests in TKG), we need to look into system tests logic and update it accordingly.
btw, I do not think systemtest can check sha and re-download. And it uses SDK to build some test libs.

Alternatively, we can leave https://ci.adoptium.net/job/systemtest.getDependency/ as it is. And leverage https://github.com/adoptium/TKG/blob/master/scripts/getDependencies.pl in TKG to pre-stage 3rd party jars for system tests.

@annaibm Please take a look when you have time. We can talk in more detail in the meeting.

Just for the record, we will break down this into several tasks:

[ ] download the system test jars from https://ci.adoptium.net/job/systemtest.getDependency/ and ignore checksum if the jar is generated by systemtest.getDependency
[ ] create separate folder on the machine (i.e., testDependency/system_lib)(some system test libs may be the same as functional tests libs with version differences)

Enhancements:

[ ] update systemtest.getDependency to generate checksum when generating the jar
[ ] move testDependency/system_lib into testDependency/lib (remove duplicate libs)
[ ] create Jenkins job to clean testDependency/lib periodically (~ every 6 months?)


Bump Catalyst dependency version to 1.2.1

Catalyst 1.2.1 contains a fix for a performance regression introduced in Copycat 1.2.5

Coverage remained the same at 45.202% when pulling ebfa297e0cf3fb286b1df81ebe732fc1501ccccf on catalyst-1.2.1 into 9c3dd16d6b4cb3c580675257ac4564a21c81a894 on master.


Dark mode button added

Added dark mode using the JSDelivr CDN in the index.html file.
You can check the dark mode button-

Is  there any issue with the PR ?

Is  there any issue with the PR ?

There was a dark mode button in the navbar


Fixed whole alignment of action logo

Related Issue
“None”
Fixes: #3909
Description
In Community Section . login page, the books page the action logo which is present in navbar is misaligned , So I make it aligned
issue no= h#3909

Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
Community Section

Login Page

Books Page

Checklist:

[x] I have made this change from my own.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[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.

https://github.com/user-attachments/assets/1766cfc2-a2c8-484e-a8fb-80bcdabad283
fix this issue , will merge the pr then.


Write report to text file

Currently the report is written out to the Editor console. Writing this to a text file would be a lot more useful.

Done. The file name and directory is hard-coded, but that's another issue altogether.


Consider add a API to clear tombstone store

Now the tombstone store record will remains forever. we can add an API to clear it if make sure there are no unsafe operation．

@nolouch   If you dont mind I would like to solve it. :beer:


Drawer not working inside a div

I have added .mdl-layout__header and .mdl-layout__drawer in a div. After that the drawer button is not showing.
E.g.
<div class="my-mdl-layout-header"

...

...

Can you please provide a codepen or some other working sample to show the issue in action?

I have place .mdl-layout__header and .mdl-layout__drawer in a div.my_drawer. The drawer menu button is not showing
Here is a codepen link http://codepen.io/anon/pen/KdxNzY

This is exactly the problem I was referring to with my issue 1857. But sadly it was closed because I wanted to embedd the header and drawer into a custom html element not a div. With more generalized selectors these issues can be easily addressed I think:
https://github.com/google/material-design-lite/issues/1857

This isn't working since your structure is not conforming to what is required, which is documented in the Layout docs. We are going to work on Layout heavily in 2.x, this could be fixed in that. However, for more dynamic sites we recommend Polymer instead of MDL.

I could correct this issue, the only thing that you need to do is  put this links:

In the header of your code.
Regards


fix several typos

What ❔
Some spelling corrections to strengthen the narrative.
Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[x] Tests for the changes have been added / updated.
[x] Documentation comments have been added / updated.
[x] Code has been formatted via zk fmt and zk lint.
[x] Spellcheck has been run via cargo spellcheck --cfg=./spellcheck/era.cfg --code 1.

Thank you for your contribution. We are working on an automatic spell-checking tool and will not accept PRs with spelling corrections.


Extract types from JS client and export them publicly

Our JS methods have typed inputs, but those types are not exported or consumable by other systems. It's nice in other systems to use our types and so we should extract them and export them.

👍🏼 That would be awesome, see linked issue above 😃

@jeffchuber added export type. please review.

This is done


Changed JPEGCompress to ImageCompress for supporting webp

Works fine with the lastets OpenCV version (previous version had bug: https://github.com/opencv/opencv/issues/14978)
It should resolve #220

will be merged after fixing ci errors

opencv-python-headless doen't contain lastets OpenCV version (previous version had bug: opencv/opencv#14978). So, I can't fix ci errors

@toshiks could you please check if it can be merged?

Master is merged. Now it looks good


Implement encryption

It'd be a good idea to try implementing encryption now to determine how much performance it'd cost before trying to implement a reverse proxy. It'd affect how we can implement broadcast packets since the same packet will encrypt to different bytes for each player, so it'd be a good idea to try implementing it now rather than later. If we do decide to make a reverse proxy for encryption then we can just copy the code over.

Let's assume that we will want encryption at least optionally at some point. I think this will be really useful for others using Hyperion, as it's turning into a base for making high-performance servers, rather than being something I would use for a single event.
I do believe it's more important to prioritize I/O handling, especially in figuring out how to make it use less memory. Right now, it seems to use excessive memory for the number of players we have, so I'd like to see that reduced. There have been several methods mentioned to possibly achieve this, and this issue will determine our approach.
So, yes, we should expect to use encryption, and I want to explore how we can significantly reduce memory usage in I/O handling. Given that this is intended for high-performance environments, where users might not have vast amounts of memory, reducing memory usage could also improve cache locality.

It seems like some of the broadcast IO would need to be changed to make encryption work since the same buffer can't be sent to every client. I'll work on optimizing the IO code and making sure it's structured in a way that allows for encryption.

ok awesome :)

I think we should rather use something like Gate in Lite mode and just run multiple proxies.  We'd only have to implement the Velocity forwarding authentication in Hyperion.

multiple proxies are also nice in case there is a DDoS attack

I think big issue right now I have above everything is just limiting memory usage cause it is so large. but it needs to be limited while still being very performant. This means 1 ms / tick for 200 players

I think instead of implementing Mojang auth, we should rather use something like Gate in Lite mode and just run multiple proxies.

If we're running Gate on the same server as Hyperion, that'd introduce more overhead because 2 processes need to do heavy IO with the kernel and Gate communicating with Hyperion over TCP on localhost adds some overhead too.

multiple proxies are also nice in case there is a DDoS attack

Whether proxies would help with this would depend on which OSI layer the DDoS is occurring. I can't seem to find anything on Internet mentioning which layer DDoSes on Minecraft servers usually occur on though.

If we're running Gate on the same server as Hyperion, that'd introduce more overhead because 2 processes need to do heavy IO with the kernel and Gate communicating with Hyperion over TCP on localhost adds some overhead too.

if we ran a proxy it would be on a separate server directly linked to the main server

we are planning on doing encryption on proxies/velocity


Usage queries tab UI issues

Affected module
UI
Describe the bug
In Queries tab the duration and date fields are optional, also some queries overlap with the copy icon

Also the copied to clipboard text overlaps with the query

To Reproduce
Ingest any usage connector

@ulixius9 @ayush-shah as part of sample data can we add bigger queries that goes multiple lines instead of single query


esify assumes foo is defined with "for x, y of foo"

Right now when translating a for of coffeescript loop, we use Object.entries(object) so:
for code, option of @selectedShipmentOptions[@rateCode]
  rows.push(Shopify.Templates.render(@shipmentOptionsTemplate, {
    optionName: option.name,
    optionPrice: @money(option.amount)
  }))

becomes
for (const [code, option] of Object.entries(this.selectedShipmentOptions[this.rateCode])) {
  rows.push(Templates.render(this.shipmentOptionsTemplate, {
    optionName: option.name,
    optionPrice: this.money(option.amount),
  }));
}

This assumes that this.selectedShipmentOptions[this.rateCode] is defined, but that is not always the case. Since this is how it is translated, Object.entries(undefined) throws. I can get around it by doing something like:
const selectedShipmentOption = this.selectedShipmentOptions[this.rateCode]) || {};
for (const [code, option] of Object.entries(selectedShipmentOption) {
...

but ideally this wouldn't be necessary.
@GoodForOneFare

160+ instances of this when decaffing app/assets/javascripts/**/*.coffee 😬 At the very least, we should add an esify warning.

@lemonmade this seems like an esify blocker.  Should we:

Tweak decaf to add  || {} to any Object.keys/Object.entries calls in for for/of loops
Add an esify warning to check for nulls in for/of loops
Add a shopify-codemod to figure out loops with potential null references and add fallback values
[your suggestion here]

Yes, I agreed, we need to fix. Are we even converting to something equivalent? Object.entries() is only over own properties, it looks like CS does it over all properties?
We might want to just match the simpler for in loop directly from CS, unless that violates some linting rule I don't remember. If so, I would just stick to || {}.


Add support for fasthttp engine

If revels server was pluggable we could create a module to use this engine https://github.com/valyala/fasthttp

Added in modules


Package Installation Fail

Today, I attempted to install telemetyr on my new machine.
library(devtools)
install_github("BiomarkABS/telemetyr", build_vignettes = T)

Unfortunately, the first attempt failed because rjags was not installed. Then, after installing rjags the second attempt failed with:
E> The rjags package is just an interface to the JAGS library
E> Make sure you have installed JAGS-4.x.y.exe (for any x >=0, y>=0) from
E> http://www.sourceforge.net/projects/mcmc-jags/files

After downloading and installing JAGS the install worked fine.
Is this the intended or expected response? I need to remind myself, but wasn't jagsUI added (or something to that effect) to remove the need for JAGS. Not high priority, just ran into this when getting telemetyr on the new machine.

I think the issue may be that the rjags package tries to link to the JAGS software, and throws an error if it is not installed. Since rjags is not required by any of the vignettes, maybe we should consider removing it from the Suggests list, so R won't try to install it when installing telemetyr. We should find a computer that does not have JAGS installed to test that fix on.

OK, small problem with my comment above: we wrote several functions to run a JAGS model into the package, which require rjags, so we should keep it in the DESCRIPTION. Maybe just better installation instructions on the README file, explaining that a user should install JAGS first, and how to do so.


Inquiry: Do all AJAX (query) requests take >1000ms?

Hi,
Just checking here: Do all, except one ;-) , AJAX (query) requests normally take >1000ms?
My Neo4j version is 3.2 CE and I'm running it locally from the command-line, since it is the zip package.
The rest of the repo is untouched.

Thanks in advance,
Stefan

Not sure. Click on the profile for each call and see whats happening.
Since you are running in dev it will take a lot more time that it does in prod.

I presume that you don't have an index on :Movie(title) ?
Also for the first few requests you pay a bit of a warmup cost.

The truth is that I haven't optimized anything. That's correct. The reason I'm asking is this:

In my own project I have a query that yields 6 nodes with 3-4 attributes each, no relations.
the query is: MATCH (n:InfoType) RETURN n ORDER BY n.name
Neo4j browser returns the result in 15ms
Symfony with Graphaware or Neo4jBundle connector returns in >1000ms

What strikes me is the difference between a browser query and the symfony query is +1000ms.
So far, any query to Neo4j (in dev env) takes >1000ms as indicated by the symfony profiler (Neo4j tab). Unfortunately, the AJAX calls in the movies project do not yield a Neo4j profiler result.
I guess I'm left with the following questions:

Why is the Neo4j browser that much faster without the index? (And would an Index on :Movie(title) speed up the Symfony-side query?)
While Symfony (Neo4j tab) profiler indicates the pure query time is >1000ms, would it make a difference to speed up the symfony-part by moving to prod? (i.e. is Query-time in the Neo4j tab influenced by moving to prod?)

O, and I'm sorry to have posted here, because it's the movies-symfony-php-bolt project I've tested this with. (After seeing my own project yielded the same query times.)

Hi. Currently Im using php-ogm + this bundle for this project. I have ~20k nodes of same label for speed testing purposes. They have mapping in OGM entities. Im in symfony DEV mode now.
Simple query like MATCH (fv:FieldValue) WHERE fv.webPath is not null RETURN fv limit 500  where fv have around 6 attribs in neo4j browser takes 50 -150 ms and in PHP  - around 80ms with bolt protocol and ~130
via HTTP. And its without indexes.
Im using docker  on VM, neo4j and php containers are linked, like if php and neo4j would be on single machine. May be try to switch to bolt protocol if you didnt do that, 1000 ms is quite long time to single query.

Lesson learnt. A crappy local DNS resolver could increase handling time by 1 second. :-)
The BOLT server setting was "localhost", when I changed it to "<IP_ADDRESS>", the queries dropped to 25ms.


docs: update docs about deploy with Physical Machines

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

ref #1094
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1120   +/-   ##
=======================================
  Coverage   47.23%   47.23%
=======================================
  Files         116      116
  Lines        7205     7205
=======================================
  Hits         3403     3403
  Misses       3535     3535
  Partials      267      267

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 e49d466...0439e14. Read the comment docs.

For non-container deployment, can we provide a systemd file or something?

For non-container deployment, can we provide a systemd file or something?

In fact, that's is something that I was thinking. I will add an issue for that firstly.


Does package this work with SSR?

I'm trying to use this package in a prerendered preact app deployed onto vercel but I've hit this error and now I'm at a bit of a loss as to where to look next.
Unable to read file<EMAIL_ADDRESS>14:22:18.595 |
14:22:18.595 | ReferenceError: regeneratorRuntime is not defined
14:22:18.595 | method: null
14:22:18.595 | at: /vercel/path0/src/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js:88:21
14:22:18.596 |
14:22:18.596 | Source code:
14:22:18.596 |
14:22:18.596 |
14:22:18.596 | This is most likely caused by using DOM or Web APIs.
14:22:18.597 | Pre-render runs in node and has no access to globals available in browsers.
14:22:18.597 |
14:22:18.597 | Consider wrapping code producing error in: 'if (typeof window !== "undefined") { ... }'
14:22:18.598 |
14:22:18.598 | Alternatively use 'preact build --no-prerender' to disable prerendering.

Works fine if I don't pre-render, is this something I need to fix on my side?

This isn't an SSR issue but a Babel issue. I have no idea why it says it's "most likely caused by using DOM or Web APIs", it's caused by computePosition being an async function. Adjust your Babel targets to only include browsers that support async functions and the error will go away

@atomiks Thanks for the quick reply and thanks for the explanation. I fixed my targets and worked fine 👍


Add Julia Data Science

What does this PR do?
Add the Julia Data Science book
For resources
Description
This is an open source and open access book on how to do Data Science using the Julia programming language. Our target audience are PhD candidates from all fields of applied sciences. Industry analysts, upcoming and established researchers are also welcome as readers.
Why is this valuable (or not)?
We aim for the book to be a more coherent introduction into Julia than just going into the documentation of the respective packages. This is valuable for people who just start using the language. Also, the link will remain valuable because the book and PDF are build via CI and lots of efforts are invested to automate as much of the building as possible in order to make maintenance easy in the future.
How do we know it's really free?
The license is visible in the linked website and in the GitHub repo.
For book lists, is it a book? For course lists, is it a course? etc.
Yes, it is a book.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Followup

Check the output of Travis-CI for linter errors!

Excellent addition. No need to add a link to the pdf, but davorpa's suggestion is not a bad idea.
Thanks for making your book free! As it has an Open License, consider adding it to Unglue.it and Archive.org.
Welcome to free-programming-books!

Thanks for the PR folks!


ST3 - When building with terminus, switches to the right tab on the left pane

I am currently using Terminus as a build system and Origami to open Terminus into a new tab on the right pane, instead of the usual bottom console.
However, the current tab that I am building from, switches to the tab to the right (if there is one) when the Terminus console pops up on the right pane.
I'd like to know if there is a way to avoid this "auto" tab switch.
Thank you!

Found a solution here:
https://github.com/randy3k/Terminus/issues/197


Give a working example of using sqldown with a connection string?

I am trying to do something akin to ./node_modules/.bin/pouchdb-server --level-backend sqldown --level-prefix "$DATABASE_URL" where
DATABASE_URL=postgres://username:password@localhost:5432/databasename

Fauxton does not work...
(node:46947) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I've installed things correctly (I think)...
npm install --save pouchdb-server pg pg-query-stream sqldown
+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>updated 4 packages in 3.651s

I seem to be having a similar problem.
node_modules/.bin/pouchdb-server --level-backend sqldown --level-prefix postgres://username:password@localhost:5432/pouchtest
(node:31529) UnhandledPromiseRejectionWarning: Error: Invalid Adapter: postgres     at PouchAlt.PouchDB (/home/noah/Projects/pouchdbtest/node_modules/pouchdb-core/lib/index.js:1292:11)     at new PouchAlt (/home/noah/Projects/pouchdbtest/node_modules/pouchdb-core/lib/index.js:1412:13)     at /home/noah/Projects/pouchdbtest/node_modules/express-pouchdb/lib/create-or-delete-dbs.js:30:10 (node:31529) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:31529) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. [info] pouchdb-server has started on http://<IP_ADDRESS>:5984/ [info] using alternative backend: sqldown [info] all databases will be created with prefix: postgres://postgres:postgres@localhost:5432/pouchtest [info] navigate to http://<IP_ADDRESS>:5984/_utils for the Fauxton UI.


Change mix.exs licenses field to a valid SPDX identifier

Not mandatory, but recommended. Can be useful for a project like https://github.com/Cantido/hex_licenses

Added to v2.4.1. Thanks for your help.


Trouble connecting to AWS Explorer through Visual Studio 2017

I'm trying to connect to AWS (Amazon Web Services) using Visual Studio 2017. However, in the AWS Explorer in Visual Studio, it says "Failed to connect to AWS".

I created an account in the AWS IAM Management Console.
I assigned this account AdministratorAccess and created access keys.
I installed the AWS SDK for .NET for Visual Studio 2017.
In the Visual Studio AWS Explorer, I selected and created a New Account Profile.
The AWS Explorer shows "Failed to connect to AWS". (The Region list is still disabled.)
It seems like a rather simple process, but it's not working for me.

As a credential test, I set up the AWS CLI (Command Line Interface). Then I ran aws configure using the same Access key ID and Secret access key. I was able to access AWS--e.g. aws iam list-users and aws lambda list-functions. (I have some test lambda functions in my account already, and they showed up.)
Edit:

Without changing anything, suddenly this started working in Visual Studio. I was able to access my AWS resources and upload lambda function. Then....I came in the next day, and it wasn't accessible again.

What am I missing? Let me know if you need any more info.

This suggests an issue with the credentials. Given that the toolkit can read from two credential store files (it's own private and encrypted file at %userprofile%\AppData\Local\AWSToolkit\RegisteredAccounts.json and the plain-text credential file used by the CLI %userprofile%.aws\credentials), if the account was registered in both places with the same profile name it's possible they could be conflicting.
Since the toolkit can read from the CLI's credential file, and that set of credentials seem to work ok, delete the toolkit's private credential file (the one in %userprofile%\AppData\Local\AWSToolkit). Make sure to restart the IDE to get everything back in sync.
Let us know if they gets you up and running in the IDE.

I deleted the file you suggested and restarted the IDE, but it did not work for me. Like I mentioned before, AWS Explorer in VS will work (connect) for me for a while. Then, I might do something in my environment, such as logout/in or restart my machine, and it doesn't work anymore. Now I'm stuck again.

I found a workaround. However, I have no idea why this works. If I open VS (with or without a project open), none of the suggestions work, even though I can connect through the AWS CLI. And as I mentioned before, if I click to edit the profile in VS, the credentials are there, but the regions list is empty.
But then, when I launch Fiddler, suddenly AWS Explorer is able to connect in VS. Weird.

I don't think there is anything we can do as it seems like a network issue on your side. My guess is there is some sort of cert validation issue going on and by having fiddler on that disables certificate validation. You might get more information checking out the toolkit's log file at C:\Users<user-id>\AppData\Local\AWSToolkit\logs\visualstudio

My profile was already saved and it worked fine even last night. Since, this morning I am getting the "Failed to connect to AWS" error in AWS Explorer.
I looked into the logs at C:\Users\AppData\Local\AWSToolkit\logs\visualstudio and found this:-
2018-02-07 11:34:05,912 [1] INFO  Amazon.AWSToolkit.S3FileFetcher - Probing for hosted file 'ServiceEndPoints.xml' at url prefix 'https://d3rrggjwfhwld2.cloudfront.net/'
2018-02-07 11:34:06,099 [1] ERROR Amazon.AWSToolkit.S3FileFetcher - Failed to find config file ServiceEndPoints.xml from cloudfront.
System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()
   at Amazon.AWSToolkit.S3FileFetcher.OpenFileStream(String filename, CacheMode cacheMode)
2018-02-07 11:34:07,045 [1] ERROR Amazon.AWSToolkit.S3FileFetcher - Error getting ServiceEndPoints.xml.
System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()
   at Amazon.AWSToolkit.S3FileFetcher.OpenFileStream(String filename, CacheMode cacheMode)
2018-02-07 11:34:07,045 [1] ERROR Amazon.AWSToolkit.S3FileFetcher - Error getting ServiceEndPoints.xml.
System.ArgumentNullException: Value cannot be null.
Parameter name: stream
   at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean leaveOpen)
   at System.IO.StreamReader..ctor(Stream stream)
   at Amazon.AWSToolkit.S3FileFetcher.GetFileContent(String filename, CacheMode cacheMode)

Looking in through Fiddler, this is the Raw request:-
GET https://d3rrggjwfhwld2.cloudfront.net/ServiceEndPoints.xml HTTP/1.1
Host: d3rrggjwfhwld2.cloudfront.net
I don't see any authentication related headers being sent. Are they even needed for this call?
I also see a similar request for this URL:-
GET https://aws-vs-toolkit.s3.amazonaws.com/ServiceEndPoints.xml HTTP/1.1
Host: aws-vs-toolkit.s3.amazonaws.com
It ends with the same 403 error. Perhaps this is the fallback URL when cloudfront fails.
Here's the log from yesterday when everything worked just fine:-
2018-02-06 12:38:57,569 [5] INFO  Amazon.AWSToolkit.S3FileFetcher - Probing for hosted file 'ServiceEndPoints.xml' at url prefix 'https://d3rrggjwfhwld2.cloudfront.net/'
2018-02-06 12:39:07,253 [1] INFO  Amazon.AWSToolkit.Utility - ...resolved for C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\qusg2mug.1af\SDK\AWSSDK.Core.dll
2018-02-06 12:39:07,257 [1] INFO  Amazon.AWSToolkit.Utility - ...resolved for C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\qusg2mug.1af\SDK\AWSSDK.Core.dll
2018-02-06 12:39:07,342 [1] INFO  Amazon.AWSToolkit.Utility - ...resolved for C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\qusg2mug.1af\SDK\AWSSDK.Core.dll
2018-02-06 12:39:07,346 [1] INFO  Amazon.AWSToolkit.Utility - ...resolved for C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\qusg2mug.1af\SDK\AWSSDK.Core.dll
2018-02-06 12:39:41,594 [1] INFO  Amazon.AWSToolkit.VisualStudio.AWSToolkitPackage - Received __VSSPROPID4.VSSPROPID_ShellInitialized property change, new value True
2018-02-06 12:43:57,835 [87] INFO  Amazon.AWSToolkit.MobileAnalytics.AMAServiceCallHandler - Reponse from AMAClient.PutEvents(request) meta data: Amazon.Runtime.ResponseMetadata, response HttpStatusCode: Amazon.Runtime.ResponseMetadata
2018-02-06 14:21:37,790 [1] INFO  Amazon.AWSToolkit.MobileAnalytics.SimpleMobileAnalytics - Queuing analytics event in local queue with timestamp: 02/06/2018 08:51:37
2018-02-06 14:21:37,790 [1] INFO  Amazon.AWSToolkit.MobileAnalytics.SimpleMobileAnalytics - Main session was stopped. Attemping to force final analytics service call attempt. Note: Permission to collect analytics will be checked.
2018-02-06 14:21:39,916 [125] INFO  Amazon.AWSToolkit.MobileAnalytics.AMAServiceCallHandler - Reponse from AMAClient.PutEvents(request) meta data: Amazon.Runtime.ResponseMetadata, response HttpStatusCode: Amazon.Runtime.ResponseMetadata
2018-02-06 14:21:42,696 [72] INFO  Amazon.AWSToolkit.MobileAnalytics.AMAServiceCallHandler - Reponse from AMAClient.PutEvents(request) meta data: Amazon.Runtime.ResponseMetadata, response HttpStatusCode: Amazon.Runtime.ResponseMetadata
2018-02-06 14:30:46,693 [1] INFO  Amazon.AWSToolkit.MobileAnalytics.SimpleMobileAnalytics - Queuing analytics event in local queue with timestamp: 02/06/2018 09:00:46
2018-02-06 14:30:46,702 [1] INFO  Amazon.AWSToolkit.MobileAnalytics.SimpleMobileAnalytics - Main session was stopped. Attemping to force final analytics service call attempt. Note: Permission to collect analytics will be checked.
2018-02-06 14:30:48,588 [134] INFO  Amazon.AWSToolkit.MobileAnalytics.AMAServiceCallHandler - Reponse from AMAClient.PutEvents(request) meta data: Amazon.Runtime.ResponseMetadata, response HttpStatusCode: Amazon.Runtime.ResponseMetadata

I have tried creating new credentials in IAM and connecting from a different system. All end with the same error.

@maxotek  Even i am facing the exact same issue since today morning, it was working fine yesterday.

@veer3383 Perhaps its a bad patch on the server. I don't recall AWS toolkit updating today even though it is set to auto-update. I also tried re-installing the VS Extension on one of the systems.

I'm facing the same 'Failed to connect to AWS' problem after restarting my machine today.
log.txt

I'm looking into the issue now

@normj Hi Norm, not sure if you have changed anything as yet, but it is now working for me OK. cheers

I believe the problem is fixed now. You might need to restart Visual Studio to clear out the error state.

Yup seems to be fine now.

Thanks for confirming it was fixed. Sorry about that.

For those that are curious of the root cause of this issue. The toolkit downloads a file from S3 via CloudFront that provides all of the service endpoints and regions the toolkit will support. We have been working on some new automation on this file so we can keep the file up to date faster. When the new automation pushed a new version there was a bug in the automation to not make the file public. This caused the toolkit to get a permission denied while attempting to download the file. Although we had monitoring to make sure the CloudFront Origin was available we did not have monitoring on the individual files in the bucket which is are biggest lessen learned and we will be addressing that quickly.
Again we are sorry for the inconvenience and strive to do better.

I had the same issue, I was because in .aws contained credentials folder, but I should be credentials file!


Node shutdowns after removing seed.

I deployed stack exactly as README.
But after scale down seed service to 0 and scale up nodes +1, all nodes goes down.
My stack file is: (Just added ingress port and edited version to 3.5)
version: '3.5'
services:
seed:
image: colinmollenhour/mariadb-galera-swarm
environment:
- XTRABACKUP_PASSWORD_FILE=/run/secrets/xtrabackup_password
- MYSQL_USER=user
- MYSQL_PASSWORD_FILE=/run/secrets/mysql_password
- MYSQL_DATABASE=database
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password
- NODE_ADDRESS=^10.0..
networks:
- galera_network
command: seed
volumes:
- mysql-data:/var/lib/mysql
secrets:
- xtrabackup_password
- mysql_password
- mysql_root_password
node:
image: colinmollenhour/mariadb-galera-swarm
environment:
- XTRABACKUP_PASSWORD_FILE=/run/secrets/xtrabackup_password
- NODE_ADDRESS=^10.0..
- HEALTHY_WHILE_BOOTING=1
networks:
- galera_network
ports:
- target: 3306
published: 3335
protocol: tcp
mode: ingress
command: node seed,node
volumes:
- mysql-data:/var/lib/mysql
deploy:
replicas: 0
secrets:
- xtrabackup_password
volumes:
mysql-data:
name: '{{.Service.Name}}-{{.Task.Slot}}-data'
driver: local
networks:
galera_network:
name: 'cluster-test-db-net'
driver: overlay
secrets:
xtrabackup_password:
file: .secrets/xtrabackup_password
mysql_password:
file: .secrets/mysql_password
mysql_root_password:
file: .secrets/mysql_root_password

In the example readme you are directed to scale up nodes before scaling down the seed.

@ghatdev, Which version of docker daemon / docker swarm are you using ?
I get quite the same behavior using docker 18.06.1-ce on coreos. I had to add endpoint mode to dnsrr (DNS round-robin) instead vip (Virtual IP: the current default) :
 deploy:
       replicas: 0
+      endpoint_mode: dnsrr

I bellives that virtualip make galera failling down. I'm pretty new with galera I would be glad to hear from experts to confirm that we should not use VIP load balancing strategy with swarm for nodes and prefer the  round robin strategy which looks like to be supported?
As DNS (over the service name) are resolved at the image startup you can thing that at some point the wsrep_cluster_address  varaible is wrongly setup but I've noticed there is a STATUS that maintain neighbors nodes wsrep_incoming_addresses which looks like to get update over container restarts.
regards,
Pierre

I am experiencing this issue as well with docker 18.06.1-ce when following the proper procedure (start with seed, add nodes, remove seed).

I just added the dnsrr option in da9784dd30f5edab41e8ce3432a647824fd10f22 which makes sense. For swarm in particular there is probably a better way to discover the IPs than requiring dnsrr, such as listing the nodes individually in the command.


fs.readFileSync() => bundleFile()?

More a suggestion than an issue. I know fs,readFileSync() from node, but bundling a file with brfs does something very different from blocking & reading a file at point of execution like fs.readFileSync(). Maybe it would be simpler to use a name that better indicates what's happening?
Just a thought. Thanks for browserify Substack! 🤖

Yeah, it is a bit misleading, but the whole purpose of this module is to support a single entry point in Node and the browser, by using the same fs.readFileSync statement. :smile:

How about defaulting to a sensible name like fs.bundleFfle() for most users, and leaving the .readFileSync() for folks who want a single entry point between node & the browser?


AFNetworking content-type ERROR

when I use the framework to parse JSON, it is occur content-type error.Now I find the error reason that acceptableContentTypes is not enough.
So I add a @"text/plain" to make my project no error.
I suggest that the next version can add it to resolve the error.Thanks very much.

You can add custom acceptable content types using the acceptableContentTypes property on the response serializer.