time: add microseconds-based APIs

The upper bound of a nanoseconds-since-1970 timestamp is not very far away, on the timescale of human civilization:
time.Unix(0, math.MaxInt64)
2262-04-11 23:47:16.854775807 +0000 UTC

Suggestions for improvement:

Document the limits at https://golang.org/pkg/time/, and deprecate the UnixNano function.
Create a UnixMicro function, which works until the year 294247.

I notice a lot of code that tries to implement UnixMicro as UnixNano()/1000, so it would be good to have a centralized, correct implementation.

For Go25.

I don't understand the complaint. This limitation is built into the design, and is why time.Unix first takes a seconds argument followed by a nanoseconds argument for precision.
time.Unix(math.MaxInt64, 0) represents the year 219250468, so I think this API is solid for the foreseeable future.

Oh, I see. This is about UnixNano.
Note the docs already cover this:

The result is undefined if the Unix time in nanoseconds cannot be represented by an int64.

The documentation should specify what the limits are, because the actual values can be surprising to people who assume that int64 is practically infinite.  It seems bad to promote a time format which is more restrictive than YYYY without spelling out the risks.
And what about creating a microseconds interface?  I haven't tested the following code yet, but you can observe that the conversion functions are nontrivial in both directions:
return time.Unix(usec / 1000000, (usec % 1000000) * 1000)
return t.Unix() * 1000000 + int64(t.Nanosecond() / 1000)

Who uses microseconds (apart from JavaScript)?

"Microseconds since 1970" a very common format within Google at least.  Bigtable and Spanner are among the more prominent users.

Seems like something worth considering.

I don't see why we would deprecate the UnixNano method. The argument seems to be that time.Now().UnixNano() will be undefined when run ~246 years from now. By the same argument, time.Now().UnixMicro() will also be undefined in a mere ~292231 years.
There's no point in deprecating UnixNano, so this proposal should only be concerned with weighing the benefit of adding UnixMicro.

Notice that Unix() returns int64, not int32.  Had it been the latter, it would make sense to argue for its deprecation.  In order-of-magnitude terms, UnixNano() is only marginally better than a 32-bit unix timestamp.
We're obviously going to have a bad time when 9999 rolls around, but designing a format that can't even get that far seems like an obvious mistake.

Whatever software is around in 200 years can spend 46 years migrating to storing 128-bit timestamps. This sounds like a documentation bug if anything.
The few people who need a UnixMicro can write a trivial function.

The few people who need a UnixMicro can write a trivial function.

But the function is not trivial, and in practice most people get it wrong.  UnixNano()/1000 gives you the worst of both worlds, with regards to range and precision.

I think we should postpone this issue until Go has a int128 type.

Why should adding microseconds-based APIs be blocked on an int128 type?  If time.UnixNano128(...) and t.UnixNano128() existed, then microseconds-based APIs would no longer be necessary.

I don't think the year 2262 problem is too big. For example, ext4 also has
this (though it's using uint64, and leaves 34 bits for the second part). We
can certainly wait a little longer to solve it. And when Go has int128, it
can be solved once and for all. That is, the year 2262 limit does not
justify the new API. (I'd argue that if you care, you should design it to
store int64 sec + int32 nsec instead of int64 usec)

re: int128 is issue #9455

@nathany, I think @ianlancetaylor's int128 comment was a joke. He's saying that by the time we have an int128 type (distant future), only then would we care about the year 2262, and if we had an int128 anyway, then we wouldn't need to do anything in this issue, because nanoseconds would again be sufficient.
Jokes are funnier when they're explained, I know. Sorry.

I didn't really mean it to be a joke as such.  I mean more or less what @bradfitz says, but seriously.  Assuming Go continues to exist at all, it will get an int128 type at least a century before 2262.  There is no need to introduce a microsecond API, we just need to change the time package to use int128.

The first bullet point (document the limits) was fixed by https://go-review.googlesource.com/#/c/28478/

The time.Time representation itself has no problem with the year 2262, by design. Conversions like t.UnixNano exist for interoperability with other systems that use those encodings. They are not fundamental to the API, just helpful when you need that conversion. Google programs that use UnixNano()/1000 can keep doing so. I agree with the various comments that we can fix this in 200 years (with plenty of time to spare) by changing the result of UnixNano to int128. Until then, now that the documentation makes the limitation clear, I think we can close this issue.

For the record, I don't think "changing the result of UnixNano to int128" is possible, because of all the existing code that assumes the result is an int64.  This will almost certainly require a new API, like UnixNano128().


Question: Autostart with delays

LXD version: 2.12
How can I configure boot.autostart.delay and boot.autostart.priority to implement the following:

start containers A, B, C without delay
start containers A1, A2 with a 30 secs delay after container A, containers B1, B2 with a 60 secs delay after container B

So I need different autostart strategies for different chains. Is it possible?

Yeah, I don't think you can do that. Your best bet is probably to not have any of your containers auto-started and then have an external script which starts them the way you want.
The closest thing that LXD would let you do I think is:

Set a higher priority for A, B and C and no delay for them so that they're started immediately
Set a lower priority for everything else
Set a delay of 30s for A1
Set a delay of 30s for B1

Because container startup is sequential and in alphabetical order after priority sort, that'll do:

Immediate start of A, B and C
Start of A1 after a wait of 30s
Immediate start of A2 after A1 is done
Start of B1 after another 30s wait (making it 60s total)
Immediate start of B2 after B1 is done

But that's a bit hackish so the external script may be a bit more reliable and would also let you do parallel starts if you want.

Hm, I think you are right, idea with external script is not that bad.


Unable to fetch validator list

Apigility API responds with a status 406. Unable to fetch validator list. Clean download of packaged version 1.3.3.   Can't really use validators any way due to this error since October: https://github.com/zfcampus/zf-apigility-admin-ui/issues/90

Closing. Believe this was related to Vagrant/Apache config and not Apigility

@spectravp Having the same issue. Could you please elaborate, what exactly you changed in your Apache config?


Freeze

There are a lot of duplicate string objects (especially empty strings) being allocated.
These are really meant to be read-only lookup tables, so freezing makes sense in that regard.
I have the following monkey-patch, I wonder if this would be worthwhile to freeze everything for optimization:
require 'iso-639'

ISO_639::ISO_639_2.each do |entry|
  entry.each do |str|
    str.freeze
  end
  entry.freeze
end
ISO_639::ISO_639_2.freeze

Thanks for releasing the recent update.
Please let me know your thoughts on this proposal, I would be happy to prepare a pull request if you think it could be merged.

All values assigned to constants are now frozen in version 0.2.7.
Although a large number of objects are created, as far as I know (please correct me if I'm wrong) they are only initialized once when the constants are assigned, which occurs when the file is loaded with require.
In order to get some insight into the object allocation stats, there is a new script that prints how many objects are allocated of each type:
https://github.com/alphabetum/iso-639/blob/aa48c4f/test/allocation_stats
The approach to freeze that I just added ends up creating an additional 970 Array objects in Ruby 2.3.1p112, but it also appears to eliminate a few thousand String objects in Ruby 2.3+.
Regardless of the object allocation issue, these needed to be frozen anyway since they are intended to be immutable constants.
Let me know if you have any feedback.

Yeah, that works too. I think this is mostly a micro-optimization: it's mostly the strings that get reused downstream and not the arrays so I wouldn't worry about it. I'm not sure where the extra arrays are coming from. Maybe GC would clean them up after the declarations & freezing is done?
Let's close this, we're done here! :smile:


[Site] Color guidelines page

This PR adds content and some ramps with a11y notation to the Color page.
connects #239
Description
The Color page describes how themes work in Mineral and attempts to provide an some context about color aids visual hierarchy when designing a UI. Ramps are provided so developers of Mineral know their options when choosing a theme. This page will probably inherit more/better content as we figure out what is needed for UX designers who come to this page.

update snapshots
rough in some content
display color ramps
add prescribed color to Heading component
add a legend for the ramp rows
display generated accessible text against bkd colors
change theme to "blue" per design request

How to test

npm install
go to /guidelines/colors and view all the ramps

Types of changes

feature

Checklist

[x] Renders and functions properly in all supported browsers
[x] Automated tests written and passing
[x] Accessibility and inclusivity considered
[x] Rendering performance (initial load time & 60fps) and perceived performance considered [n/a]
[x] Documentation created or updated
[x] Tested in sandbox if new component or breaking change [n/a]

How does this PR make you feel?

@asagray @wendyjm

are there any images you would want to include? where should they go?
we should probably call out hue and chroma definitions and be deliberate about how we use them. You'd landed on chroma to talk about the "h" in hsl, and did you have a definition in mind we could use?
I have everything as an <h2> on this page, but should some of the sections be grouped?
I just made some stuff up to go under the section headings from milanote.
Color ramps: should we call out the default theme and the grays in some way?

@riley Here's how we separated out color in the new layouts we're going to provide the design teams: https://ca.invisionapp.com/share/YED71KRWP
Note that I discussed with @kylegach changing Intent to Variant so terms are consistent.
I don't have much additional feedback right now. We'll revisit with edited content later.

Please also test this layout on smaller screens.  It has some issues that need addressed.  Some of them can be solved by simply adding an overflow-x: auto to the element containing the large tables - as we did with the prop and theme variable tables.  Other issues likely need to be addressed differently.

@brentertz I addressed your comments and put in some more responsive layout triggers. Thanks for looking it over.


[incubator/couchdb] Update CouchDB to latest release, add Search

What this PR does / why we need it:

Updates the CouchDB chart to use the latest official release.
Adds an experimental integration with a companion full-text search system powered by Lucene.

Special notes for your reviewer:
The experimental functionality is disabled by default, and requires a custom build of CouchDB until apache/couchdb#2037 is merged and we cut a new release. If you want to test it out:
helm install incubator/couchdb --set image.repository=kocolosk/couchdb,image.tag=dreyfus-by-default,clusterSize=1,enableSearch=true --name test-search

Documentation is also being reviewed at apache/couchdb-documentation#418.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/ok-to-test

/lgtm


Wrong unicode handling?

I'm using Helix, but nothing like this appears to be happening with other LSPs, so I imagine the issue is with Typos.
When a line has multi-byte codepoints, the highlighting appears in the wrong place; seemingly reporting byte offset when a character offset is expected:

Thanks for raising this! Could you share the text from the screenshot, and I'll see if I can reproduce this.

uh ¿Qué hace él? I guess

I believe you may have overcompensated with your fix, using combining characters such as U+0303 Combining Tilde (with 'e' displays as ẽ) — the highlight appears too early.
It seems to me, skimming over the LSP specification^1, that the offset is not measured in grapheme clusters as implemented in your fix, but rather by code unit offsets, with the client able to negotiate the representation (UTF-8 / UTF-16 / UTF-32) with the server.
I don't have permission to reopen this issue; I'd appreciate if you could.

Ah good catch .. I can see ẽ is rendered with a width of two characters in vscode but typos-vscode is counting it as one (i think).

@tekumara it should render as a single grapheme. However, what's happening here as I understand is that you used unicode-segmentation in your fix to count grapheme clusters, however the LSP protocol specifies that character offsets should be negotiated between the server and the client and reported using the negotiated representation thereafter. So if UTF-16 were negotiated (which is required to be supported by all servers and would thus be fully compatible on its own), you would return the number of UTF-16 units the characters encode into (1 for each character below U+D800 and 2 for characters after that).[^1] If UTF-8 were negotiated you would return the number of bytes that would be needed to encode the text as UTF-8 (so 1 for the first 128 codepoints, 2 for the next 1920, and so on).[^2] For UTF-32, you would simply use the number of code points.[^3]
[^1]: Rust: str.chars().map(char::len_utf16).sum()
[^2]: Rust: str.len()
[^3]: Rust: str.chars().count()

Thanks @emilyyyylime for the really helpful explanation. I've pushed a fix which counts utf-16 code units, since that is the default position encoding. The other position encodings aren't supported yet.


Enhancement: WTForms support

We should add support for WTForms under starlite.contrib. As an example see: https://github.com/muicss/starlette-wtf and https://github.com/wtforms/flask-wtf

Another example is from Quart-framework.
Both starlette and quart implement ImmutableMultiDict data structure with getlist() method to retrive form data.
Starlette version has a release but it doesn't implement file handling.
Quart version does implement file handling but it has some issues to resolve and apparently devs at Quart are not interested in it.

Another example is from Quart-framework.
Both starlette and quart implement ImmutableMultiDict data structure with getlist() method to retrive form data.
Starlette version has a release but it doesn't implement file handling.
Quart version does implement file handling but it has some issues to resolve and apparently devs at Quart are not interested in it.

We can undeprecate getlist, or we can simply implement an adapter.

Current Starlite situation
if you do :
form_data = await request.form()
form = RegistrationForm(form_data) <- WTForm,   raises keyerror
however:
form_data = await request.form()
usename = form_data['username']
password = form_data['password']
form = RegistrationForm(username=username, password=password) <- WTForm,   works fine

So, I looked into WTForms code and found out it tries hasattrs for getlist method and if it doesn't find that it tries hasattrs for getall. If getall is found it wraps getlist over getall.
In case of Starlite it finds getlist which is deprecated.

@jenish2014 - we can "undeprecate" it - if this is a blocker.

The getlist() method is implemented in multidict package/library. So either implement getlist() in Starlite.datastructures.multidict or wait for mulitdict guys to remove it.
Another feature of WTForms that needs looking into is csrf. starlite's own implementation works when WTForms' csrf is not enabled but, if user wants to use WTForms' implementation then they will have to implement it as shown in WTForms' docs.

Yes, either undeprecate getlist or remove it all-together.
WTForms provide CSRF feature. If developers want to use WTFforms' CSRF over starlite's then either it needs to be implemented as per its documents or be left to dev to implement it.

Yes, either undeprecate getlist or remove it all-together.
WTForms provide CSRF feature. If developers want to use WTFforms' CSRF over starlite's then either it needs to be implemented as per its documents or be left to dev to implement it.
Edit:
getlist calls super.getall() instead change it to self.getall() and that would work too.

Do you want to add a PR perhaps?

It is safe to assume its 25th Dec where ever you are and I wish you Merry Christmas.
I've got the form working - it creates HTML tags, prints it in browser and validates data on the server.
But, CSRF and File Upload features are not working. I'll try to find a solution for it in next two days and add a PR then.

I believe a proper WTForms integration would be the better way to go here. We can create a StarliteForm and integrate that e.g. as a validation target type in route handlers.

Hi, I looked over @provinzkraut 's comment and I agree with him there should be proper integration of WTForms so, instead of making changes to starlite source-code, I went ahead and created a separate repo starlite-wtf. It patches FormMultiDict returned from request.form().
Check it out and let me know if that is okay. Consider it as early draft and maybe, if it fulfills all the requirements, then it could be merge with starlite as contrib.
@provinzkraut can you provide pseudo code for or expand on what you mean by - validation target type in route handlers.
Unfortunately, I couldn't workout how to implement WTForms' SessionCSRF and is left out. I've tested disabling WTForms' csrf and using Starlite's built-in and works fine.

Hi,
This is awkward and embarrassing to admit at this point that there is not need for starlette-wtf like integration. Just use Starlite's best practices and WTForms works.
Mistakes I made:

I looked at the issue, checked starlette-wtf and WTForms and got convinced that below method is only way to retrieve data from form. I overlooked WTForms and Starlite docs and started working on solution.

From WTForms' documentation
def register(request):
    form = RegistrationForm(request.POST)

Also, starlette-wtf's implementation cemented that Starlite needs similar approach.
I kept using await request.form() to retrieve data and kept getting errors related to FormMultiDict and getlist()

class wtforms.form.Form
    __init__(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)

But, as you can see from Form init there is data parameter that accepts a dict with keys same as form field names.
Following code snippet is how one can pass form data to data parameter in Starlite:
class BasicForm(Form):
    firstname = StringField(name='firstname', validators=[Length(min=5, max=8)])
    lastname = StringField(name='lastname')
    active = BooleanField(name='active')

@get()
async def basic_form() -> Template:
    form = BasicForm()
    return Template(name='form.html', context={'form': form})

@post()
async def register(
    data: Any = Body(media_type=RequestEncodingType.URL_ENCODED)
) -> Response:
    form = BasicForm(data=data)
    if form.validate():
        # Do some stuff
        return Response('Success')
    else:
        return Response(f'Validation Failed {form.errors}')

Conclusion:
Both WTForms and Starlite are excellent python libraries. WTForms provides multiple ways to pass data and Starlite makes it easy to fetch data using Body(). WTForm's SessionCSRF still won't work but as you know Starlite's CSRF works just fine just disable WTForms csrf.
In the end I would say just follow Starlite's best practices to get request-data and pass that to data parameter of WTForms' Form. I don't see any need for starlette-wtf like approach to WTForm's integration with Starlite.
I will leave my repo starlite-wtf as it is if anyone wants alternate interface and async validators.

WTForms provide CSRF feature. If developers want to use WTFforms' CSRF over starlite's then either it needs to be implemented as per its documents or be left to dev to implement it.

I think it should be left to dev to implement it.
I also think offering async validators could be helpful.


fix document & message

Refer
https://github.com/pfnet-research/chainer-chemistry/pull/209#pullrequestreview-135739186

LGTM!

Codecov Report

Merging #218 into master will increase coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #218      +/-   ##
==========================================
+ Coverage   81.59%   81.59%   +<.01%
==========================================
  Files         106      106
  Lines        5026     5027       +1
==========================================
+ Hits         4101     4102       +1
  Misses        925      925


Two way data binding - updates are resetting change history

Description
I created a wrapper for the lib where I wanted to have two way data binding, to treat it like a native form input where I could pass value and onChange props and get the DOM (HotInstance) state in sync with the prop value.
I am using the afterChangesObserved hook to get the changes and to also be safe of infinite loops.
Steps to reproduce

Change the table data
Try to "undo"
Changes are not undone

Demo
https://codesandbox.io/s/hottable-2-way-data-binding-corid?file=/src/MyWrapper.js
Your environment

React wrapper version: 3.1.3
Handsontable version: 6.2.2

Hi @melloc01
First of all, we decided that observeChanges plugin is deprecated. In version 8.0.0 you get a console warning. Here is an epic in our repo - https://github.com/handsontable/handsontable/issues/6465
So I don't recommend to based on this plugin.
Furthermore, you use state so you have to hold the undoRedo functionality by yourself.
This is why you can't use our undoRedo.
You can consider using an existing library - https://github.com/omnidan/redux-undo.
Or you could look at how to approach this problem.
This is, for instance, a redux tutorial - https://redux.js.org/recipes/implementing-undo-history
So, on the one hand, you could store the entire state object as the present, past, and future.
On the other hand, you could use Immer which just store details about what has changed. Here is a tutorial to implement Undo-Redo Functionality using Immer  - https://techinscribed.com/implementing-undo-redo-functionality-in-redux-using-immer/?utm_source=stackoverflow&utm_medium=referral&utm_campaign=stackoverflow_answering


Unable to mount volumes because only one work node can access port 3260 of the pvc-xxx-ctrl-svc

Description

Install OpenEBS 2.4.0 with helm chart 2.4.2, tested the 'Provision Sample Applications with Jiva Volume' in https://docs.openebs.io/v140/docs/next/jivaguide.html, the mount failed because of connecting to pvc-ctrl-svc timeout.
I have 3 worker nodes: app[1-3], tested and only app1 node can telnet the pvc-ctrl-svc 3260 with both service cluster-IP(<IP_ADDRESS>) and service endpoint ip(<IP_ADDRESS>).
On app2 & app3, the cluster-IP's 3260 not reachable, only endpoint IP could be connected.
Current Behavior

kubectl apply -f demo-percona-mysql-pvc.yaml
kubectl describe pod percona-58f6554bcb-9664j
it shows:

Events:
Type     Reason                  Age                  From                     Message

Warning  FailedScheduling                    default-scheduler        running "VolumeBinding" filter plugin for pod "percona-58f6554bcb-9664j": pod has unbound immediate PersistentVolumeClaims
Warning  FailedScheduling                    default-scheduler        running "VolumeBinding" filter plugin for pod "percona-58f6554bcb-9664j": pod has unbound immediate PersistentVolumeClaims
Normal   Scheduled                           default-scheduler        Successfully assigned test/percona-58f6554bcb-9664j to app2.jh.com
Normal   SuccessfulAttachVolume  7m55s                attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-4097b102-0c18-48cc-864c-432bd04bed46"
Warning  FailedMount             3m38s                kubelet, app2.jh.com     Unable to attach or mount volumes: unmounted volumes=[demo-vol1], unattached volumes=[default-token-6mwzb demo-vol1]: timed out waiting for the condition
Warning  FailedMount             83s (x4 over 6m12s)  kubelet, app2.jh.com     MountVolume.WaitForAttach failed for volume "pvc-4097b102-0c18-48cc-864c-432bd04bed46" : failed to get any path for iscsi disk, last err seen:
iscsi: failed to sendtargets to portal <IP_ADDRESS>:3260 output: iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connect to <IP_ADDRESS> timed out
iscsiadm: connection login retries (reopen_max) 5 exceeded
iscsiadm: No portals found
, err exit status 21
Warning  FailedMount  82s (x2 over 5m52s)  kubelet, app2.jh.com  Unable to attach or mount volumes: unmounted volumes=[demo-vol1], unattached volumes=[demo-vol1 default-token-6mwzb]: timed out waiting for the condition

Check the new pvc's service as:
# kubectl get svc -n openebs
and it shows:
NAME                                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
admission-server-svc                                ClusterIP   <IP_ADDRESS>   <none>        443/TCP                      12h
openebs-apiservice                                  ClusterIP   <IP_ADDRESS>   <none>        5656/TCP                     12h
pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-svc   ClusterIP   <IP_ADDRESS>   <none>        3260/TCP,9501/TCP,9500/TCP   15m

Tested with 'telnet <IP_ADDRESS> 3260' and only app1 succeeded.
Steps to Reproduce

Install openebs as
helm install openebs --namespace openebs openebs/openebs -f values.yaml
It succeeded as:
#helm list -n openebs
NAME   	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART        	APP VERSION
openebs	openebs  	1       	2021-01-15 12:03:18.893246867 -0500 EST	deployed	openebs-2.4.2	2.4.0

Tested with Percona in https://docs.openebs.io/v140/docs/next/jivaguide.html, with the manifest file https://raw.githubusercontent.com/openebs/openebs/master/k8s/demo/percona/percona-openebs-deployment.yaml, deployment completed and attach volume successfully, but mount timeout.
Your Environment

kubectl get nodes:

NAME           STATUS   ROLES    AGE    VERSION
app1.jh.com    Ready    <none>   200d   v1.18.5
app2.jh.com    Ready    <none>   200d   v1.18.5
app3.jh.com    Ready    <none>   200d   v1.18.5

kubectl get pods -n openebs:

NAME                                                              READY   STATUS    RESTARTS   AGE
openebs-admission-server-74b75bdb86-r522z                         1/1     Running   1          12h
openebs-apiserver-66bf44b6f6-kkgns                                1/1     Running   1          12h
openebs-localpv-provisioner-6868d4c6c8-twrx2                      1/1     Running   3          12h
openebs-ndm-6s4sp                                                 1/1     Running   1          12h
openebs-ndm-b5pks                                                 1/1     Running   1          12h
openebs-ndm-gh2zx                                                 1/1     Running   1          12h
openebs-ndm-operator-56d6697fbd-j6g9z                             1/1     Running   1          12h
openebs-provisioner-68b66d4546-ch2zb                              1/1     Running   3          12h
openebs-snapshot-operator-84f497ff85-gx8pb                        2/2     Running   4          12h
pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-57c87d49b-cpzs7     2/2     Running   0          23m
pvc-4097b102-0c18-48cc-864c-432bd04bed46-rep-1-859fcf86fb-6qhvn   1/1     Running   0          23m
pvc-4097b102-0c18-48cc-864c-432bd04bed46-rep-2-7665cb76b-f4dfc    1/1     Running   1          23m
pvc-4097b102-0c18-48cc-864c-432bd04bed46-rep-3-7df6ddb499-grklx   1/1     Running   0          23m

kubectl get services:

NAME                         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                AGE
percona-mysql                ClusterIP   <IP_ADDRESS>     <none>        3306/TCP                               24m

kubectl get services -n openebs:

NAME                                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
admission-server-svc                                ClusterIP   <IP_ADDRESS>   <none>        443/TCP                      12h
openebs-apiservice                                  ClusterIP   <IP_ADDRESS>   <none>        5656/TCP                     12h
pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-svc   ClusterIP   <IP_ADDRESS>   <none>        3260/TCP,9501/TCP,9500/TCP   24m

kubectl get sc:

NAME                        PROVISIONER                                                RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
openebs-device              openebs.io/local                                           Delete          WaitForFirstConsumer   false                  12h
openebs-hostpath            openebs.io/local                                           Delete          WaitForFirstConsumer   false                  12h
openebs-jiva-default        openebs.io/provisioner-iscsi                               Delete          Immediate              false                  12h
openebs-snapshot-promoter   volumesnapshot.external-storage.k8s.io/snapshot-promoter   Delete          Immediate              false                  12h

kubectl get pv:

NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                STORAGECLASS           REASON   AGE
pvc-4097b102-0c18-48cc-864c-432bd04bed46   5G         RWO            Delete           Bound    neuron/demo-vol1-claim               openebs-jiva-default            26m

kubectl get pvc:

NAME                          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS           AGE
demo-vol1-claim               Bound    pvc-4097b102-0c18-48cc-864c-432bd04bed46   5G         RWO            openebs-jiva-default   27m

OS (from /etc/os-release):

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Kernel (from uname -a):
Linux mgmt1.jh.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Install tools:
helm version: v3.2.4

iscsid status in worker node1:

systemctl status iscsid
● iscsid.service - Open-iSCSI
   Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-01-15 23:22:58 EST; 56min ago
     Docs: man:iscsid(8)
           man:iscsiuio(8)
           man:iscsiadm(8)
 Main PID: 912 (iscsid)
   Status: "Ready to process requests"
    Tasks: 1
   Memory: 13.0M
   CGroup: /system.slice/iscsid.service
           └─912 /sbin/iscsid -f

Jan 15 23:22:58 app1.jh.com systemd[1]: Starting Open-iSCSI...
Jan 15 23:22:58 app1.jh.com systemd[1]: Started Open-iSCSI.
Jan 15 23:24:59 app1.jh.com iscsid[912]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-5fe63da1-7300-44c9-a029-193fde0d9def, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.
Jan 15 23:24:59 app1.jh.com iscsid[912]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-a863fedf-84a6-43e2-b67c-6741c0000db9, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.
Jan 15 23:44:45 app1.jh.com iscsid[912]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-5fe63da1-7300-44c9-a029-193fde0d9def, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.
Jan 15 23:44:45 app1.jh.com iscsid[912]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-a863fedf-84a6-43e2-b67c-6741c0000db9, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.

iscsid status in worker node2:

systemctl status iscsid
● iscsid.service - Open-iSCSI
   Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-01-15 23:23:01 EST; 56min ago
     Docs: man:iscsid(8)
           man:iscsiuio(8)
           man:iscsiadm(8)
 Main PID: 899 (iscsid)
   Status: "Ready to process requests"
    Tasks: 1
   Memory: 3.7M
   CGroup: /system.slice/iscsid.service
           └─899 /sbin/iscsid -f

Jan 15 23:23:01 app2.jh.com systemd[1]: Starting Open-iSCSI...
Jan 15 23:23:01 app2.jh.com systemd[1]: Started Open-iSCSI.
Jan 15 23:59:10 app2.jh.com iscsid[899]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-4097b102-0c18-48cc-864c-432bd04bed46, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.

iscsid status in worker node3:

systemctl status iscsid
● iscsid.service - Open-iSCSI
   Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-01-15 23:23:03 EST; 56min ago
     Docs: man:iscsid(8)
           man:iscsiuio(8)
           man:iscsiadm(8)
 Main PID: 900 (iscsid)
   Status: "Ready to process requests"
    Tasks: 1
   Memory: 12.4M
   CGroup: /system.slice/iscsid.service
           └─900 /sbin/iscsid -f

Jan 15 23:23:03 app3.jh.com systemd[1]: Starting Open-iSCSI...
Jan 15 23:23:03 app3.jh.com systemd[1]: Started Open-iSCSI.
Jan 15 23:25:04 app3.jh.com iscsid[900]: iscsid: Connection-1:0 to [target: iqn.2016-09.com.openebs.jiva:pvc-a863fedf-84a6-43e2-b67c-6741c0000db9, portal: <IP_ADDRESS>,3260] through [iface: default] is shutdown.

iscsiadm version on all 3 worker nodes:

iscsiadm -V
iscsiadm version <IP_ADDRESS>4-19

iscsiadm -m discovery -t sendtargets -p result:
on app1:

iscsiadm -m discovery -t sendtargets -p <IP_ADDRESS>:3260
<IP_ADDRESS>:3260,1 iqn.2016-09.com.openebs.jiva:pvc-4097b102-0c18-48cc-864c-432bd04bed46

on app2 & 3 since the telnet failed so this will timeout too.

kubectl describe svc pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-svc

# kubectl describe svc pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-svc -n openebs
Name:              pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-svc
Namespace:         openebs
Labels:            openebs.io/cas-template-name=jiva-volume-create-default-2.4.0
                   openebs.io/cas-type=jiva
                   openebs.io/controller-service=jiva-controller-svc
                   openebs.io/persistent-volume=pvc-4097b102-0c18-48cc-864c-432bd04bed46
                   openebs.io/persistent-volume-claim=demo-vol1-claim
                   openebs.io/storage-engine-type=jiva
                   openebs.io/version=2.4.0
                   pvc=demo-vol1-claim
Annotations:       openebs.io/storage-class-ref:
                     name: openebs-jiva-default
                     resourceVersion: 2153192
Selector:          openebs.io/controller=jiva-controller,openebs.io/persistent-volume=pvc-4097b102-0c18-48cc-864c-432bd04bed46
Type:              ClusterIP
IP:                <IP_ADDRESS>
Port:              iscsi  3260/TCP
TargetPort:        3260/TCP
Endpoints:         <IP_ADDRESS>:3260
Port:              api  9501/TCP
TargetPort:        9501/TCP
Endpoints:         <IP_ADDRESS>:9501
Port:              exporter  9500/TCP
TargetPort:        9500/TCP
Endpoints:         <IP_ADDRESS>:9500
Session Affinity:  None
Events:            <none>

IP:                      <IP_ADDRESS>
Endpoints:         <IP_ADDRESS>:3260
Tested with iscsiadm -m discovery -t sendtargets -p <IP_ADDRESS>:3260 on all worker nodes and succeeded.
So worker node can only access the pvc-ctrl-svc with the endpoints ip but not the service cluster-IP.

kubectl logs pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-57c87d49b-cpzs7 -n openebs pvc-4097b102-0c18-48cc-864c-432bd04bed46-ctrl-con

time="2021-01-16T04:49:14Z" level=info msg="RPC_READ_TIMEOUT env not set"
time="2021-01-16T04:49:14Z" level=info msg="RPC_WRITE_TIMEOUT env not set"
time="2021-01-16T04:49:14Z" level=info msg="REPLICATION_FACTOR: 3, RPC_READ_TIMEOUT: 0s, RPC_WRITE_TIMEOUT: 0s"
time="2021-01-16T04:49:14Z" level=info msg="Starting controller with frontendIP: , and clusterIP: <IP_ADDRESS>"
time="2021-01-16T04:49:14Z" level=info msg="resetting controller"
time="2021-01-16T04:49:14Z" level=info msg="Listening on :9501"
<IP_ADDRESS> - - [16/Jan/2021:04:49:15 +0000] "POST /v1/register HTTP/1.1" 200 0
time="2021-01-16T04:49:15Z" level=info msg="Register Replica, Address: <IP_ADDRESS> Uptime: 1.007075751s State: closed Type: Backend RevisionCount: 1"
time="2021-01-16T04:49:15Z" level=warning msg="No of yet to be registered replicas are less than 3 , No of registered replicas: 1"
time="2021-01-16T04:49:15Z" level=info msg="Register Replica, Address: <IP_ADDRESS> Uptime: 1.013304312s State: closed Type: Backend RevisionCount: 1"
time="2021-01-16T04:49:15Z" level=info msg="Replica <IP_ADDRESS> signalled to start, registered replicas: map[string]types.RegReplica{\"<IP_ADDRESS>\":types.RegReplica{Address:\"<IP_ADDRESS>\", UpTime:1013304312, RevCount:1, RepType:\"Backend\", RepState:\"closed\"}, \"<IP_ADDRESS>\":types.RegReplica{Address:\"<IP_ADDRESS>\", UpTime:1007075751, RevCount:1, RepType:\"Backend\", RepState:\"closed\"}}"
<IP_ADDRESS> - - [16/Jan/2021:04:49:15 +0000] "POST /v1/register HTTP/1.1" 200 0
time="2021-01-16T04:49:15Z" level=info msg="resetting controller"
time="2021-01-16T04:49:15Z" level=info msg="Connecting to remote: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:15Z" level=info msg="Opening: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:15Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:15Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:15Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : WO"
time="2021-01-16T04:49:15Z" level=info msg="Adding backend: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:15Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:15Z" level=info msg="buildreadwriters: prev: 0 0 cur: 1 0"
time="2021-01-16T04:49:15Z" level=info msg="Start monitoring tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:15Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 clone status"
time="2021-01-16T04:49:15Z" level=error msg="Waiting for replica to update CloneStatus to Completed/NA, retry after 2s"
time="2021-01-16T04:49:17Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 clone status"
time="2021-01-16T04:49:17Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : RW"
time="2021-01-16T04:49:17Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 replica mode to RW"
time="2021-01-16T04:49:17Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode RW"
time="2021-01-16T04:49:17Z" level=info msg="addr tcp://<IP_ADDRESS>:9502 m: RW prev: WO in setmode"
time="2021-01-16T04:49:17Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:17Z" level=info msg="buildreadwriters: prev: 0 0 cur: 1 1"
time="2021-01-16T04:49:17Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:17Z" level=info msg="sending add signal to <IP_ADDRESS>"
time="2021-01-16T04:49:17Z" level=info msg="Update volume status"
time="2021-01-16T04:49:17Z" level=info msg="Previously Volume RO: true, Currently: true, Total Replicas: 1, RW replicas: 1, Total backends: 1"
time="2021-01-16T04:49:17Z" level=info msg="Create Replica for address tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="prevCheckpoint: , currCheckpoint: "
time="2021-01-16T04:49:17Z" level=info msg="Start SCSI target"
time="2021-01-16T04:49:17Z" level=info msg="SCSI device created"
<IP_ADDRESS> - - [16/Jan/2021:04:49:15 +0000] "POST /v1/volumes/cHZjLTQwOTdiMTAyLTBjMTgtNDhjYy04NjRjLTQzMmJkMDRiZWQ0Ng==?action=start HTTP/1.1" 200 1038
time="2021-01-16T04:49:17Z" level=info msg="iSCSI service listening on: [::]:3260"
time="2021-01-16T04:49:17Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:17Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:17Z" level=info msg="verify replication factor"
time="2021-01-16T04:49:17Z" level=info msg="Connecting to remote: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="Opening: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="Create Replica for address tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:17Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:17Z" level=info msg="verify replication factor"
time="2021-01-16T04:49:17Z" level=info msg="Connecting to remote: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="Opening: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:17Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:17Z" level=info msg="Snapshot: <IP_ADDRESS>:9502 468ab3c4-6496-437a-b44a-625f1b24965c UserCreated false Created at 2021-01-16T04:49:17Z"
time="2021-01-16T04:49:17Z" level=info msg="successfully taken snapshots cnt 1"
time="2021-01-16T04:49:17Z" level=info msg="Snapshot: <IP_ADDRESS>:9502 468ab3c4-6496-437a-b44a-625f1b24965c UserCreated false Created at 2021-01-16T04:49:17Z"
time="2021-01-16T04:49:17Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : WO"
time="2021-01-16T04:49:17Z" level=info msg="Adding backend: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:17Z" level=info msg="buildreadwriters: prev: 0 1 cur: 2 1"
time="2021-01-16T04:49:17Z" level=info msg="Previously Volume RO: true, Currently: true, Total Replicas: 2, RW replicas: 1, Total backends: 2"
time="2021-01-16T04:49:17Z" level=info msg="prevCheckpoint: , currCheckpoint: "
<IP_ADDRESS> - - [16/Jan/2021:04:49:17 +0000] "POST /v1/replicas HTTP/1.1" 200 431
time="2021-01-16T04:49:17Z" level=info msg="Start monitoring tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:17Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:17Z" level=info msg="Check if Replica: tcp://<IP_ADDRESS>:9502 has greater revision count"
time="2021-01-16T04:49:17Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:17Z" level=info msg="Revision count: 1 of New Replica: tcp://<IP_ADDRESS>:9502, Revision count: 1 of WO Replica: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=warning msg="can have only one WO replica at a time, found WO replica: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="addReplicaNoLock tcp://<IP_ADDRESS>:9502 from addReplica failed can only have one WO replica at a time, found WO Replica: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=error msg="Error in request: can only have one WO replica at a time, found WO Replica: tcp://<IP_ADDRESS>:9502"
<IP_ADDRESS> - - [16/Jan/2021:04:49:17 +0000] "POST /v1/replicas HTTP/1.1" 500 228
<IP_ADDRESS> - - [16/Jan/2021:04:49:17 +0000] "GET /v1/replicas/dGNwOi8vMTAuMjQ0LjMuMTI1Ojk1MDI= HTTP/1.1" 200 431
time="2021-01-16T04:49:17Z" level=info msg="Prepare Rebuild Replica for id tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:17Z" level=info msg="Synchronizing volume-head-001.img.meta@tcp://<IP_ADDRESS>:9502 to volume-head-001.img.meta@<IP_ADDRESS>:9700"
time="2021-01-16T04:49:20Z" level=info msg="Done synchronizing volume-head-001.img.meta to volume-head-001.img.meta@<IP_ADDRESS>:9700"
<IP_ADDRESS> - - [16/Jan/2021:04:49:17 +0000] "POST /v1/replicas/dGNwOi8vMTAuMjQ0LjMuMTI1Ojk1MDI=?action=preparerebuild HTTP/1.1" 200 235
<IP_ADDRESS> - - [16/Jan/2021:04:49:20 +0000] "GET /v1/replicas/dGNwOi8vMTAuMjQ0LjMuMTI1Ojk1MDI= HTTP/1.1" 200 431
time="2021-01-16T04:49:20Z" level=info msg="Verify Rebuild Replica for id tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:20Z" level=info msg="chain [volume-head-001.img volume-snap-468ab3c4-6496-437a-b44a-625f1b24965c.img] from rw replica tcp://<IP_ADDRESS>:9502, indx: 1"
time="2021-01-16T04:49:20Z" level=info msg="chain [volume-head-001.img volume-snap-468ab3c4-6496-437a-b44a-625f1b24965c.img] from wo replica tcp://<IP_ADDRESS>:9502, indx: 1"
time="2021-01-16T04:49:20Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:20Z" level=info msg="rw replica tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:20Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : RW"
time="2021-01-16T04:49:20Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 replica mode to RW"
time="2021-01-16T04:49:20Z" level=info msg="Set revision counter of <IP_ADDRESS>:9502 to : 1"
time="2021-01-16T04:49:20Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 revision counter to 1"
time="2021-01-16T04:49:20Z" level=info msg="WO replica tcp://<IP_ADDRESS>:9502's chain verified, update replica mode to RW"
time="2021-01-16T04:49:20Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode RW"
time="2021-01-16T04:49:20Z" level=info msg="addr tcp://<IP_ADDRESS>:9502 m: RW prev: WO in setmode"
time="2021-01-16T04:49:20Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:20Z" level=info msg="buildreadwriters: prev: 0 1 cur: 2 2"
time="2021-01-16T04:49:20Z" level=info msg="Previously Volume RO: true, Currently: false, Total Replicas: 2, RW replicas: 2, Total backends: 2"
time="2021-01-16T04:49:20Z" level=info msg="prevCheckpoint: , currCheckpoint: "
<IP_ADDRESS> - - [16/Jan/2021:04:49:20 +0000] "POST /v1/replicas/dGNwOi8vMTAuMjQ0LjMuMTI1Ojk1MDI=?action=verifyrebuild HTTP/1.1" 200 431
time="2021-01-16T04:49:23Z" level=error msg="Read msg.Version failed, Error: EOF"
time="2021-01-16T04:49:23Z" level=error msg="Error reading from wire: EOF, RemoteAddr: <IP_ADDRESS>:9503"
time="2021-01-16T04:49:23Z" level=info msg="Exiting rpc reader, RemoteAddr:<IP_ADDRESS>:9503"
time="2021-01-16T04:49:24Z" level=info msg="Create Replica for address tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:24Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:24Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:24Z" level=info msg="verify replication factor"
time="2021-01-16T04:49:24Z" level=info msg="Connecting to remote: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:24Z" level=info msg="Opening: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:24Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:24Z" level=info msg="check if any WO replica available"
time="2021-01-16T04:49:24Z" level=info msg="Snapshot: <IP_ADDRESS>:9502 fd48697e-4adb-455e-ae18-2bfc4d002fef UserCreated false Created at 2021-01-16T04:49:24Z"
time="2021-01-16T04:49:24Z" level=info msg="Snapshot: <IP_ADDRESS>:9502 fd48697e-4adb-455e-ae18-2bfc4d002fef UserCreated false Created at 2021-01-16T04:49:24Z"
time="2021-01-16T04:49:24Z" level=info msg="successfully taken snapshots cnt 2"
time="2021-01-16T04:49:24Z" level=info msg="Snapshot: <IP_ADDRESS>:9502 fd48697e-4adb-455e-ae18-2bfc4d002fef UserCreated false Created at 2021-01-16T04:49:24Z"
time="2021-01-16T04:49:24Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : WO"
time="2021-01-16T04:49:24Z" level=info msg="Adding backend: tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:24Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:24Z" level=info msg="buildreadwriters: prev: 0 2 cur: 3 2"
time="2021-01-16T04:49:24Z" level=info msg="Previously Volume RO: false, Currently: false, Total Replicas: 3, RW replicas: 2, Total backends: 3"
time="2021-01-16T04:49:24Z" level=info msg="prevCheckpoint: , currCheckpoint: "
<IP_ADDRESS> - - [16/Jan/2021:04:49:24 +0000] "POST /v1/replicas HTTP/1.1" 200 431
time="2021-01-16T04:49:24Z" level=info msg="Start monitoring tcp://<IP_ADDRESS>:9502"
<IP_ADDRESS> - - [16/Jan/2021:04:49:24 +0000] "GET /v1/replicas/dGNwOi8vMTAuMjQ0LjUuMjM2Ojk1MDI= HTTP/1.1" 200 431
time="2021-01-16T04:49:24Z" level=info msg="Prepare Rebuild Replica for id tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:24Z" level=info msg="Synchronizing volume-head-002.img.meta@tcp://<IP_ADDRESS>:9502 to volume-head-001.img.meta@<IP_ADDRESS>:9700"
time="2021-01-16T04:49:25Z" level=info msg="Done synchronizing volume-head-002.img.meta to volume-head-001.img.meta@<IP_ADDRESS>:9700"
<IP_ADDRESS> - - [16/Jan/2021:04:49:24 +0000] "POST /v1/replicas/dGNwOi8vMTAuMjQ0LjUuMjM2Ojk1MDI=?action=preparerebuild HTTP/1.1" 200 290
time="2021-01-16T04:49:25Z" level=info msg="Exiting rpc loop for <IP_ADDRESS>:9503 with err EOF"
time="2021-01-16T04:49:25Z" level=info msg="Closing read on RPC connection"
time="2021-01-16T04:49:25Z" level=info msg="Closing write on RPC connection"
time="2021-01-16T04:49:25Z" level=info msg="Exiting rpc writer, RemoteAddr:<IP_ADDRESS>:9503"
time="2021-01-16T04:49:27Z" level=warning msg="Closing RPC conn with replica: <IP_ADDRESS>:9503"
<IP_ADDRESS> - - [16/Jan/2021:04:49:28 +0000] "GET /v1/replicas/dGNwOi8vMTAuMjQ0LjUuMjM2Ojk1MDI= HTTP/1.1" 200 431
time="2021-01-16T04:49:28Z" level=info msg="Verify Rebuild Replica for id tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="chain [volume-head-002.img volume-snap-fd48697e-4adb-455e-ae18-2bfc4d002fef.img volume-snap-468ab3c4-6496-437a-b44a-625f1b24965c.img] from rw replica tcp://<IP_ADDRESS>:9502, indx: 2"
time="2021-01-16T04:49:28Z" level=info msg="chain [volume-head-001.img volume-snap-fd48697e-4adb-455e-ae18-2bfc4d002fef.img volume-snap-468ab3c4-6496-437a-b44a-625f1b24965c.img] from wo replica tcp://<IP_ADDRESS>:9502, indx: 2"
time="2021-01-16T04:49:28Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:28Z" level=info msg="rw replica tcp://<IP_ADDRESS>:9502 revision counter 1"
time="2021-01-16T04:49:28Z" level=info msg="Set replica mode of <IP_ADDRESS>:9502 to : RW"
time="2021-01-16T04:49:28Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 replica mode to RW"
time="2021-01-16T04:49:28Z" level=info msg="Set revision counter of <IP_ADDRESS>:9502 to : 1"
time="2021-01-16T04:49:28Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 revision counter to 1"
time="2021-01-16T04:49:28Z" level=info msg="WO replica tcp://<IP_ADDRESS>:9502's chain verified, update replica mode to RW"
time="2021-01-16T04:49:28Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode RW"
time="2021-01-16T04:49:28Z" level=info msg="addr tcp://<IP_ADDRESS>:9502 m: RW prev: WO in setmode"
time="2021-01-16T04:49:28Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:28Z" level=info msg="buildreadwriters: prev: 0 2 cur: 3 3"
time="2021-01-16T04:49:28Z" level=info msg="Previously Volume RO: false, Currently: false, Total Replicas: 3, RW replicas: 3, Total backends: 3"
time="2021-01-16T04:49:28Z" level=info msg="successfully set checkpoint cnt 3"
time="2021-01-16T04:49:28Z" level=info msg="prevCheckpoint: , currCheckpoint: volume-snap-fd48697e-4adb-455e-ae18-2bfc4d002fef.img"
<IP_ADDRESS> - - [16/Jan/2021:04:49:28 +0000] "POST /v1/replicas/dGNwOi8vMTAuMjQ0LjUuMjM2Ojk1MDI=?action=verifyrebuild HTTP/1.1" 200 431
time="2021-01-16T04:49:28Z" level=error msg="Read msg.Version failed, Error: EOF"
time="2021-01-16T04:49:28Z" level=error msg="Error reading from wire: EOF, RemoteAddr: <IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Exiting rpc reader, RemoteAddr:<IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica tcp://<IP_ADDRESS>:9502 ReplicasAdded:3 FrontendState:Up"
time="2021-01-16T04:49:28Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica ToRemove: tcp://<IP_ADDRESS>:9502 Found: <IP_ADDRESS>"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica ToRemove: tcp://<IP_ADDRESS>:9502 Found: <IP_ADDRESS>"
time="2021-01-16T04:49:28Z" level=info msg="Remove backend: tcp://<IP_ADDRESS>:9502 mode: RW"
time="2021-01-16T04:49:28Z" level=info msg="Closing: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="stopping monitoring <IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:28Z" level=info msg="buildreadwriters: prev: 0 3 cur: 2 2"
time="2021-01-16T04:49:28Z" level=info msg="Previously Volume RO: false, Currently: false, Total Replicas: 2, RW replicas: 2, Total backends: 2"
time="2021-01-16T04:49:28Z" level=info msg="prevCheckpoint: volume-snap-fd48697e-4adb-455e-ae18-2bfc4d002fef.img, currCheckpoint: "
time="2021-01-16T04:49:28Z" level=error msg="Read msg.Version failed, Error: EOF"
time="2021-01-16T04:49:28Z" level=error msg="Error reading from wire: EOF, RemoteAddr: <IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Exiting rpc reader, RemoteAddr:<IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica tcp://<IP_ADDRESS>:9502 ReplicasAdded:2 FrontendState:Up"
time="2021-01-16T04:49:28Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica ToRemove: tcp://<IP_ADDRESS>:9502 Found: <IP_ADDRESS>"
time="2021-01-16T04:49:28Z" level=info msg="Remove backend: tcp://<IP_ADDRESS>:9502 mode: RW"
time="2021-01-16T04:49:28Z" level=info msg="Closing: <IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="stopping monitoring <IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="replicator reset false"
time="2021-01-16T04:49:28Z" level=info msg="buildreadwriters: prev: 0 2 cur: 1 1"
time="2021-01-16T04:49:28Z" level=info msg="Previously Volume RO: false, Currently: true, Total Replicas: 1, RW replicas: 1, Total backends: 1"
time="2021-01-16T04:49:28Z" level=info msg="prevCheckpoint: , currCheckpoint: "
time="2021-01-16T04:49:28Z" level=error msg="Read msg.Version failed, Error: EOF"
time="2021-01-16T04:49:28Z" level=error msg="Error reading from wire: EOF, RemoteAddr: <IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Exiting rpc reader, RemoteAddr:<IP_ADDRESS>:9503"
time="2021-01-16T04:49:28Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:9502"
time="2021-01-16T04:49:28Z" level=info msg="RemoveReplica tcp://<IP_ADDRESS>:9502 ReplicasAdded:1 FrontendState:Up"
time="2021-01-16T04:49:28Z" level=info msg="check if replica tcp://<IP_ADDRESS>:9502 is already added"
time="2021-01-16T04:49:28Z" level=info msg="Stopping target iqn.2016-09.com.openebs.jiva:pvc-4097b102-0c18-48cc-864c-432bd04bed46 ..."
time="2021-01-16T04:49:28Z" level=warning msg="Closing connection with initiator..."
 Thanks.

Uninstall and install with new verison 2.5.0 and it still failed with:
iscsi: failed to sendtargets to portal <IP_ADDRESS>:3260 output: iscsiadm: cannot make connection to <IP_ADDRESS>: Connection refused
Any one can help with this? Thanks.


Deleting a skill removes the skill from the sheet permanently with no way to restore it.

If you right-click a skill in your skills list on both the Character or NPC sheets, you get a little popup with some settings to tweak. One of them is a checkbox "delete?". If you check it and submit, the skill is permanently removed from the sheet with no way to restore it. The skill is still listed under "Toggle Skills" on the NPC sheet, but toggling the skill does not restore it either.

So, that box only shows for GM users. It's meant to be used to remove accidentally added profession skills. It also allows for more control over home brewing skills. Considering that this is a GM only available option, I'm pretty content to leave this as is. GM's should know better, and if they don't it's there own damn fault ;). The other option would be to remove the box all together, which I'm fine with as well.

 [BUGZ] Deleting a skill removes the skill from the sheet permanently with no way to restore it.

Fixed it by only allowing custom profession skills to be deleted.


Mount location overrides ownership on an existing mountpoint

I want to have a mount owned by a user. I tried creating the directory resources at the top of my recipe and then calling the logical_volume resource provider with the mount location option, but this caused the provider to create new directory resources that overrode my own. I would submit a PR but I have few questions:

Are guard statements run at compile time (I assume yes, so I can't just change it from checking Pathname.mountpoint? to Pathname.exists?)
Is there a way for a HWRP to check if a resource for a directory is in the resource collection already?
If neither of the above are possible, could I even catch this with chefspec in my own cookbook? I seem to be unable to stub the call to Pathname.exists in my unit tests, and it seems like Pathname probably isn't being called at all (are ruby guards not evaluated in chefspec?) My test claims that the directory is created with the ownership I expect, but that's not what happens on a real machine.

@ccope Here's the code that creates the directory for mounting the volume from the lvm_logical_volume provider:
      # Create the mount point
      dir_resource = directory mount_spec[:location] do
        mode 0755
        owner 'root'
        group 'root'
        recursive true
        action :nothing
        not_if { Pathname.new(mount_spec[:location]).mountpoint? }
      end

If you have another earlier directory resource that created the directory owned by another user, this will run and change the owner to root.  To get around the situation you have I would do this;

Create the directory in my cookbook
Create the logical volume but don't specify the mount point in lvm_logical_volume, then the directory resource above will not be used.
Use a separate mount resource to mount the volume

Your questions.
Guard statements, pretty sure those execute as part of resource processing. mountpoint? and exist? check for very different things.
HWRP check.  Sure, serious overkill though.
What chefspec does depends on your code. Unless you step into the providers (see the highlighted warning about doing this https://github.com/sethvargo/chefspec)  chefspec doesn't know what happens in the providers.  Making lots of assumptions about your chefspec code "Pathname.mountpoint?" in the resource provider was unlikely to have been invoked.
Regards,
Mark

Thanks Mark, that helps a lot. It was just a very surprising behavior, I only expected the provider to mount the logical volume, not also create the directory. The inability to test this also sucks (and trying to do it with serverspec requires a lot of setup since this requires extra block devices in my virtual machine). At this point I've rejected the following options:

Detect if the folder exists at the time the HWRP is executed (seems tricky/not possible given the nature of guards).
Detect if the directory is being created by chef by examining the resource collection (seems really complicated)
Remove the directory creation (this would be a breaking change)

The last idea I have is adding an option to the logical_volume provider, create_mountpoint, which defaults to true. What do you think of that?

Testing - You can use loopback file systems for testing with serverspec. No extra block devices needed. I haven't checked the test setup here recently but lvm itself used to use that technique.
The create_mountpoint option seems reasonable.
Cheers

I know this conversation is a little old, but I just ran into a similar situation.
What about adding the ability to set the user, group, and mode from within the lvm_logicial_volume resource?  It can still default to root,root,755.

Which attributes do you mean, the mount point attributes or the attributes of the file system after it is mounted?


Enable stars in views & schema mutations on tables being depended on by views

Background: https://airtable.com/tblD3oZPLJgGhCmch/viwINAgXA5on9pr2T/rec2jxgg4Sp10iGXj

This was moved to the 2.2 backlog, so closing for now.


init=file with only a few parameters specified

The command line help says,
Initialization method: "x" initializes randomly between [-x, x], "0" initializes to 0, anything else identifies a file of values

What happens when I provide a file that only contains inits for a few of many parameters? Do the rest of the parameters get initialized randomly between [-x,x]? If so, can I rely on this behavior? Is it documented anywhere?
Current Version:
v2.17.1

It's documented in the reference manual, but might not be in the CmdStan doc.

closing - the question has been answered.


[server] refactor authors service

Merge 2 methods used for updating minimal author (override and by social media) - Maybe pass 3 parameters and set each of them via rbatis parameters

Consider and research changing of orm provider that allows more simplistic approach to query building

To think about https://github.com/tikitko/blog-server/pull/65/files#r1402887710


Implement time calculating module to computer real change in time

Currently game uses uses constants in place of real time delta to emulate it.
Implement module that computes time passed between two frames so you can use it to compute delta_time value.
FPS lock should stay to prevent big network usage and spamming server. Cap might be increasd to something <= 120 fps.

Implemented in 0c07d9f3174834d6bb29464d837b0500b700a3b3.
FPS lock is still on 60fps.


Cask request: Audacity

Name: Audacity
Homepage: http://www.audacityteam.org/
Download URL: https://www.fosshub.com/Audacity.html/audacity-macosx-ub-2.1.2.dmg
Description: Audacity can record live audio through a microphone or mixer, or digitize recordings from other media.

https://github.com/caskroom/homebrew-cask/blob/master/doc/faq/rejected_casks.md

The cask is so difficult to maintain, it constantly breaks. Happened only once so far, with Audacity, because it uses fosshub as a distribution site.


[Bug] Successful spell after character Logout.

This problem has been around for a long time. The character first casts a spell and then continues casting the spell after exiting the game. In fact, if the spell he casts is teleport, it may cause him to instantly fall out of the game.
eg fix;
void CClient::CharDisconnect()
{
	ADDTOCALLSTACK("CClient::CharDisconnect");
	// Disconnect the CChar from the client.
	// Even tho the CClient might stay active.
	if ( !m_pChar )
		return;
	int64 iLingerTime = g_Cfg.m_iClientLingerTime / MSECS_PER_SEC;

	Announce(false);
	bool fCanInstaLogOut = CanInstantLogOut();

	m_pChar->Skill_Cleanup(); <-- or
	//m_pChar->Spell_CastFail(); <--

...
...

The codes here are purely examples. Although many have been tested, some may need to be rewritten.

I checked that, there is no bug at all, it's because seems like you have a linger time in sphere.ini, the character keep staying on the server for a while (depends on your linger time setting in sphere.ini) so the spells can successfully completed in this time, also other players can attack the player while in linger time. If you set that 0, the character directly leave from server and the spell not successfully completed, but the timer will start again when you login back and complete the spell if he can. This is default behaviour at all.

I put to be confirmed back to check tp if there is a bug about it.

As there is no feedback for a long time, I am closing this issue, as it works fine for me. If you think this issue still exists, you can contact us on discord to re-open this issue, or create new issue for it.


Suggestion: Move autogenerated FHIR types to a separate package

The autogenerated FHIR types are not required for the core functionality of FHIRClient, and additionally the file with the autogenerated FHIR files is extremely large (which means unnecessary parsing and precompilation in case they are not used). I think we could maybe strip down the package and move the autogenerated types to a separate package - only the downstream users that do not define their own FHIR types have to depend on it and load it. Moreover, FHIR types for other FHIR versions could be defined in additional packages.

Yeah, this sounds like a good plan to me.

Maybe JuliaHealth/FHIRTypes.jl or something like that?

Or maybe JuliaHealth/FHIRR4Types.jl or something similar to make it clear that they are for version R4 (but that is only useful if there are plans to support multiple versions at some point)?

I was thinking we'd have a single package named JuliaHealth/FHIRTypes.jl, and then within the package, we could support multiple FHIR versions as different submodules, so e.g. FHIRTypes.R4 versus FHIRTypes.R5 versus etc.


not all stacks are displayed

Useful
Info

Versions
Rancher v1.2.0-pre4-rc6 Cattle: v0.171.0 UI: v1.2.19

Access
localauth admin

Orchestration
Cattle

Route
catalog-tab.index

to release v1.2.0-pre3 all works, v1.2.0-pre4-rc6 not work

linkedServices isn't pulling in the name of the linked service as the default name when no "as name" is provided, so they all get mapped to the empty-string key and only the last one in wins:
Link to -> As Name
"one"   -> ""
"two"   -> ""
"three" -> "three"
"four"  -> "four"

Produces
"linkedServices": {
  "": "1s2",
  "three": "1s3",
  "four": "1s4",
},

Tested with latest build from master:
rancher/dns:v0.10.4
rancher/healthcheck:v0.1.0
rancher/net:v0.7.0
rancher/metadata:v0.6.3
rancher/plugin-manager:v0.2.1
rancher/scheduler:v0.1.2
Created a service with following yml file having external links with no name
version: '2'
services:
  testlinks:
    external_links:
    - testme/hello1
    - testme/hello2
    - testme/hello
    labels:
      io.rancher.container.pull_image: always
    tty: true
    image: sangeetha/testclient
    stdin_open: true

Service gets created with links to all the 3 services but the links get named as below:

@alena1108: Is this expected?

@sangeethah this is fine

@alena1108 , Thanks.
@andruwa13 ,  fix for this issue will be available in 1.2 release.


[Bug]: node.__dirname: true causes broken output on Windows

System Info
System:
OS: Windows 10 10.0.19045
CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Memory: 5.78 GB / 15.82 GB
Binaries:
Node: 20.18.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD
pnpm: 9.12.2 - ~\AppData\Roaming\npm\pnpm.CMD
Browsers:
Chrome: 129.0.6668.101
Edge: Spartan (44.19041.1266.0), Chromium (129.0.2792.89)
Internet Explorer: 11.0.19041.1566
Details
Note: This issue only reproduces when building on Windows, as Windows uses the \ path separator.
If

node: { __dirname: true } (webpack documentation) is used in the RsPack config and
The code being built is in a subdirectory and refers to __dirname
The RsPack build is run on Windows via the Windows cmd command prompt

then RsPack output contains unescaped \ characters (e.g. __dirname: ${'src\foo\bar\baz'}), resulting in an unexpected string and not matching the webpack output (e.g. var __dirname = "src\\foo\\bar\\baz"; ... `__dirname: ${__dirname}).
(Thank you for your awesome work on this project 🙏❤ . Hope this report proves to be useful!)
Reproduce link
https://github.com/lauriharpf/rspack-node-dirname/tree/main
Reproduce Steps

Use node: { __dirname: true } in the RsPack configuration.
Refer to __dirname in a subdirectory file in the code being built (for example, like in the reproduce repo).
Run the build on Windows via the cmd command prompt

What happens
RsPack does not escape the \-separator, output is e.g. src\foo\bar\baz. See https://github.com/lauriharpf/rspack-node-dirname/blob/main/rspack-dist/src_foo_bar_baz_render_js.js#L15

webpack escapes the \-separator, output is e.g. src\\foo\\bar\\baz. See https://github.com/lauriharpf/rspack-node-dirname/blob/main/webpack-dist/src_foo_bar_baz_render_js.js#L10

Desired result
RsPack and webpack build results match in terms of __dirname: both produce escaped output, e.g. src\\foo\\bar\\baz

I will try to fix it.

Thank you! 🙏  As an additional observation, noticed that this only seems to affect node: { __dirname: true }. node: { __filename: true } appears to work as expected in RsPack (escapes the backslash path separators).


Allow using separate amounts for near and far depth of field

This restores functionality that was available in Godot 3.x's depth of field.
Tested on the Vulkan Clustered and Vulkan Mobile backends, with all combinations of bokeh shapes and bokeh qualities. It works :slightly_smiling_face:
The only quirk I noticed is that near blur's amount will appear to change if you also change the far blur amount (and vice versa). I'm not sure how this can be fixed.
Testing project: test_dof_blur_separate_near_far_amount.zip
This closes https://github.com/godotengine/godot/issues/62473.

Thank you.

The only quirk I noticed is that near blur's amount will appear to change if you also change the far blur amount (and vice versa). I'm not sure how this can be fixed.

What does that mean?
My physical camera adjusts near and far planes and blur amounts every frame according to the focal point, aperture/fov, and DOF distance calculations. It also racks focus, so iterates these changes over time as the focal point moves from A to B.
So as long as the blur amount is stable it should be fine. By stable I mean, if near blur of 0.1 @ 10m when far blur is X is not the same as near blur of 0.1 @ 10m when far blur is Y, that's a problem. Or if the blur shape or pattern changes frame to frame, that's also an issue.

I'm currently porting my PhysicalCamera to test this, but GDScript 2 has many changes and gotchas that I'm working through. I've already noticed a problem with depth changes between blur quality. I'll update when I have something definite.

The overall blur look is soooo much better in Godot 4 than 3.  My camera is ported, however I came across the bug documented in #62678. I cannot continue testing this one until the other one is fixed.

@TokisanGames: #62678 got fixed. Can you resume your testing of this fix?

@MJacred read from here https://github.com/godotengine/godot/issues/62473#issuecomment-1218774944


resource: Work around a rare race in initial sync

TestResource_WithFakeClient is sometimes failing due to seeing two Upserts instead of Upsert+Sync. This is due to the fact that we add the initial set of keys from the store to the queue when subscribing in Events() and the fact that adding to the store is happening before our event handler runs. The sequence of events looks like this:
[informer 1/2] add object A to store
[resource] subscribe and add object with key A to queue
[resource] dequeue A and emit Event{Upsert, A}
[informer 2/2] call AddFunc handler for A and queue A
[resource] dequeue A and emit Event{Upsert, A}
Work around the issue by allowing the extra Upsert event in the test case.
Proper fix for this would be to either detect a duplicate using ResourceVersion, or implementing a custom (cache.Config) Process function that synchronizes the updating of the store with subscribing (e.g. pkg/k8s/informer/informer.go).
Fixes: #23079
Fixes: 4101e2c768 ("k8s: Add resource package")

I marked this for backport to 1.13 since it looks like it will mitigate a unit test failure. If this relies on changes only in the master branch, feel free to remove the label.

/test

@joamaki Why were the end-to-end tests executed here? AFAICS, it's only affecting the non-privileged unit tests which run in Travis CI. Is that was a mistake, I can probably merge.

@joamaki Why were the end-to-end tests executed here? AFAICS, it's only affecting the non-privileged unit tests which run in Travis CI. Is that was a mistake, I can probably merge.

Yep only Travis CI needed to check that the test passes. Go ahead and merge.

@joamaki is the backport for 1.13 still on your radar, or is it fine to drop that?

Taking that as a no :).

@julianwiedmann oops, sorry about the delay (had half-answered this and then it got buried). Yes no need to backport to 1.13.


Invalid Property Error when using an empty base dir

I don't need to use relative path and all my codes are in jade (so no dir for htmls).
The processHtml outputs well but it always throw the following error:
error: Property word-break: break-word at ....\views-html-#58 is invalid: Expected (normal | keep-all | break-all) but
found 'break-word'.
error: Property word-break: bold at ....\views-html-#278 is invalid: Expected (normal | keep-all | break-all) but foun
d 'bold'.
Where " ....\views" is the path I set for baseDir. If I leave baseDir empty it will throw the same error in console with path = undefined.
I don't quite understand this as "....\views-html-" is no a file.

Looks like your CSS is in fact invalid. Valid properties for word-break should be listed here https://developer.mozilla.org/en-US/docs/Web/CSS/word-break - bold and break-word don't appear as valid values.

hi jrit,
I have no idea what css this error is referring to. I don't have any css link in the html nor in the base dir (base dir is null). I don't have a break-word in the html either.
browser/juice both do not return any error.

Can you post an isolated case where this can be reproduced?

Closing as there hasn't been a reproducible case provided, but it seems to me there is an issue in the CSS itself from the error.


tests(sinsp): Fix infer_defaults_to_first_non_loopback TC

What type of PR is this?
/kind failing-test

Any specific area of the project related to this PR?
/area tests

Does this PR require a change in the driver versions?
No

What this PR does / why we need it:
We need to ensure the same byte order for all architectures, so added the Byte order modifiers.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: SohamM-Ibm
Once this PR has been reviewed and has the lgtm label, please assign fededp for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @SohamM-Ibm! It looks like this is your first PR to falcosecurity/libs 🎉

The PR resolves the Test case failure observed on s390x system for sinsp_network_interfaces.infer_defaults_to_first_non_loopback while running the command - make run-unit-test-libsinsp.
[ RUN      ] sinsp_network_interfaces.infer_defaults_to_first_non_loopback
/home/test/sysdig/build/falcosecurity-libs-repo/falcosecurity-libs-prefix/src/falcosecurity-libs/userspace/libsinsp/test/ifinfo.ut.cpp:126: Failure
Expected equality of these values:
  "<IP_ADDRESS>"
  buf
    Which is: "<IP_ADDRESS>"

[  FAILED  ] sinsp_network_interfaces.infer_defaults_to_first_non_loopback (0 ms)
[----------] 6 tests from sinsp_network_interfaces (0 ms total)

@Andreagit97 May you please review.

/milestone 0.18.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, SohamM-Ibm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 0af7d27660890d95e3f8b1a8041cbf38f969edf6


Generics defaults

This pull request updates TypeScript to v4.6.0-beta, which allows specifying defaults for JSDoc type generics.
The generics for Layer, Source and Feature are updated to use a default, which makes them optional for consumers.
Fixes #13230.

The type changes in the XML parsers were necessary for TypeScript v4.6.0 to not complain.


Upgrade golang (1.15.5 -> 1.15.6)

Signed-off-by: Andrew Keesler<EMAIL_ADDRESS>

Release note:

Upgrade container image to use Golang 1.15.6 and Debian 10.7-slim

Do we need to update the go.mod file's go version? I thought I remembered that we needed to stay on 1.14 for some reason...
https://github.com/vmware-tanzu/pinniped/blob/main/go.mod#L3

Do we need to update the go.mod file's go version? I thought I remembered that we needed to stay on 1.14 for some reason...because that's what K8s uses for 1.19?
https://github.com/vmware-tanzu/pinniped/blob/main/go.mod#L3

I can't remember. @mattmoyer ?

I don't think so -- it has to do with which incompatible version features are enabled: https://golang.org/ref/mod#go-mod-file-go


fix: fixed endpoint_type logic

Description
Fixed endpoint_type for data block ibm_database_connection to accept only public and private values.
Git issue: https://github.com/terraform-ibm-modules/terraform-ibm-icd-mysql/issues/48
Release required?

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

Release notes content

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

Checklist for reviewers

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

For mergers

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

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


flutter_service_worker.js and main.dart.js being fetched from wrong location

Steps to reproduce
When using Flutter 3.22.3 I can host a Flutter web application using the following commands and access it at http://localhost:8080/test/:
cup@cup-work2:/media/cup/data/test$ ~/fvm/versions/3.22.3/bin/flutter --version
Flutter 3.22.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision b0850beeb2 (3 weeks ago) • 2024-07-16 21:43:41 -0700
Engine • revision 235db911ba
Tools • Dart 3.4.4 • DevTools 2.34.3
cup@cup-work2:/media/cup/data/test$ ~/fvm/versions/3.22.3/bin/flutter create bug_3_22_3
Creating project bug_3_22_3...
Resolving dependencies in `bug_3_22_3`...
Downloading packages...
Got dependencies in `bug_3_22_3`.
Wrote 129 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

In order to run your application, type:

  $ cd bug_3_22_3
  $ flutter run

Your application code is in bug_3_22_3/lib/main.dart.

cup@cup-work2:/media/cup/data/test$ cd bug_3_22_3
cup@cup-work2:/media/cup/data/test/bug_3_22_3$ ~/fvm/versions/3.22.3/bin/flutter build web

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 257628 to 1172 bytes (99.5% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when
building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 7760 bytes (99.5% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons
flag when building your app.
Compiling lib/main.dart for the Web...                             22.6s
✓ Built build/web
cup@cup-work2:/media/cup/data/test/bug_3_22_3$ http-server-spa build/web/ index.html 8080
----------------------------------------------
[OK] Serving static files from ./build/web/
[OK] Using the fallback file index.html
[OK] Listening on http://localhost:8080
----------------------------------------------
[OK] GET /test/
[OK] GET /flutter_bootstrap.js
[OK] GET /favicon.png
[OK] GET /manifest.json
[ER] GET /flutter.js.map
[OK] GET /flutter_service_worker.js
[OK] GET /icons/Icon-192.png
[OK] GET /main.dart.js
[OK] GET /index.html
[OK] GET /flutter_bootstrap.js
[OK] GET /assets/AssetManifest.bin.json
[OK] GET /assets/FontManifest.json
[OK] GET /flutter_service_worker.js

If I build the same application with Flutter 3.24.0 the flutter_service_worker.js and main.dart.js files are fetched from the wrong location:
cup@cup-work2:/media/cup/data/test$ flutter --version
Flutter 3.24.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 80c2e84975 (8 days ago) • 2024-07-30 23:06:49 +0700
Engine • revision b8800d88be
Tools • Dart 3.5.0 • DevTools 2.37.2
cup@cup-work2:/media/cup/data/test$ flutter create bug_3_24_0
Creating project bug_3_24_0...
Resolving dependencies in `bug_3_24_0`...
Downloading packages...
Got dependencies in `bug_3_24_0`.
Wrote 129 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

In order to run your application, type:

  $ cd bug_3_24_0
  $ flutter run

Your application code is in bug_3_24_0/lib/main.dart.

cup@cup-work2:/media/cup/data/test$ cd bug_3_24_0
cup@cup-work2:/media/cup/data/test/bug_3_24_0$ flutter build web
Resolving dependencies...
Downloading packages...
  collection 1.18.0 (1.19.0 available)
  material_color_utilities 0.11.1 (0.12.0 available)
  string_scanner 1.2.0 (1.3.0 available)
  test_api 0.7.2 (0.7.3 available)
Got dependencies!
4 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 257628 to 1172 bytes (99.5% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when
building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 7760 bytes (99.5% reduction).  That file is not present in the build/web/ folder.
Expected results
Flutter web application can be accessed using a URL path that contains a sub folder.
Actual results
Flutter web application can not be accessed using a URL path that contains a sub folder.
Code sample
The Flutter application can be created using flutter create bug.
Screenshots or Video

Screenshots / Video demonstration
Flutter 3.22.3:

Flutter 3.24.0:

Logs
See output from description.
Flutter Doctor output
Doctor output
$ flutter doctor -v
[✓] Flutter (Channel stable, 3.24.0, on Ubuntu 23.04 6.2.0-39-generic, locale en_US.UTF-8)
    • Flutter version 3.24.0 on channel stable at /home/cup/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 80c2e84975 (8 days ago), 2024-07-30 23:06:49 +0700
    • Engine revision b8800d88be
    • Dart version 3.5.0
    • DevTools version 2.37.2

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/cup/Android/Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /home/cup/apps/android-studio-2<IP_ADDRESS>-linux/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2022.3)
    • Android Studio at /home/cup/apps/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 75.1.2
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Community Edition (version 2024.1)
    • IntelliJ at /snap/intellij-idea-community/515
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.91.1)
    • VS Code at /snap/code/current/usr/share/code
    • Flutter extension version 3.94.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 23.04 6.2.0-39-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 127.0.6533.88

[✓] Network resources
    • All expected network resources are available.

• No issues found!

 Does it happen on root /?
Can you retry hosting web with python or dhttpd instead?

Hi @huycozy, thank you for looking into this. I had a look at your test output, and the issue with your test is that you are accessing http://localhost:8080/test instead of http://localhost:8080/test/.
If you access http://localhost:8080/test/ it should fail as described.

I see. I can reproduce it on stable 3.24.0 now. But it seems to be fixed on master channel (3.24.0-1.0.pre.508).


223 HoldNote tool creation process

Closes #223

This would work with any mouse click, correct? Doesn't matter left or right mouse button

This would work with any mouse click, correct? Doesn't matter left or right mouse button

That's correct, I'll change this to only left click so it's a bit more natural

This would work with any mouse click, correct? Doesn't matter left or right mouse button

Okay, this is a bit weird, but it looks like osu!'s OnClick handler only triggers off of left clicks, so the behavior is intended.


How to run the demo?

is there any instructions for how to run the demo?

@aaa1999 this is not an issue, for this kind of questions please do to the discussions page.
you just need to run:
npm run dev
@chnejohnson maybe we can include this on the README.


Translatable (and fr translated) theme

Hello,
This pull request:

implement t helpers everywhere
keeps the same wording for en
provide a translation for fr

Regards

Hi @clement-dv-wdz,
You're very welcome to translate the theme or release your own translated themes! We're not ready to include translations by default in the theme at the moment.


New update.

Closing this because I saw that you were still updating this. Thanks and there's no rush, I just didn't double check your commits.

No worries, I'll be taking a look this week. I'm mostly waiting for 1.0 at this point so I appreciate these notices so I can check in and fix things :)


HHH-13712 - Test and fix for missing superclass table joins when joining superclass associations

https://hibernate.atlassian.net/browse/HHH-13712

rebased and merged upstream.
Thanks @beikov


CMake stack overflow after enabling or changing logging mode.

Describe the bug
Recursive CMake calls cause stack overflow in Cmake after enabling or changing logging mode.
To Reproduce
Steps to reproduce the behavior:

cd zephyr/builds

cmake -B build -S ../samples/hello_world/ -GNinja -DBOARD=qemu_x86_64

cd build

ninja run (hello, world is seen as expected)

ninja menuconfig

Enable logging as below and exit menuconfig

ninja

See error like below. Same error also shown when changing logging mode.
ninja menuconfig cannot run after this error. Entire build folder has to be removed and start all over again.

CMake Error at /home/ming/zephyrproject2/zephyr/cmake/modules/version.cmake:35 (include):
  Maximum recursion depth of 1000 exceeded
Call Stack (most recent call first):
  /home/ming/zephyrproject2/zephyr/share/zephyr-package/cmake/ZephyrConfigVersion.cmake:59 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/zephyr_package_search.cmake:78 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfigVersion.cmake:78 (check_zephyr_package)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/ming/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:40 (include_boilerplate)
  /home/ming/zephyrproject2/zephyr/cmake/app/boilerplate.cmake:20 (find_package)
...

Investigation:
Seems there's some recursive calls in the Cmake script causing stack overflow.

Actually, just open menuconfig and change nothing can also reproduce this issue.
Steps:

cd zephyr/builds
cmake -B build -S ../samples/hello_world/ -GNinja -DBOARD=qemu_x86_64
cd build
ninja
ninja menuconfig
(change nothing, just press ESC and quit WITH SAVING)
Same error as above shows up.

The issue is introduced by this commit: https://github.com/zephyrproject-rtos/zephyr/commit/61453e4a586fb0d865550f9f92708f3c05412bf9

Even simpler reproduce steps:

cmake -B build -S ../samples/basic/blinky  -GNinja -DBOARD=reel_board
cd build
ninja
touch zephyr/.config
ninja

Same error as above.

Can we mark this as high priority given that any sort of configuration before building completely breaks it and is impossible?

@smrtos Investigated this issue and is able to reproduce now.
First thing I notice is that you apparently have two (or more) Zephyr workspaces, which is perfectly valid and supported.

/home/ming/zephyrproject/zephyr
/home/ming/zephyrproject2/zephyr

I noticed the looping happens between those two versions and I have managed to reproduce it locally under the following conditions:

One Zephyr revision is before those changes, for example v2.7.0
Other Zephyr revision is new, for example zephyr/main
only the old Zephyr is registered in the CMake package registry (west zephyr-export).

If both workspaces are exported, then things will start to work again.
So you should go into:
$ cd /home/ming/zephyrproject2/zephyr
$ west zephyr-export

That should make things work again.
I'm looking into how this may be fixed in Zephyr, but in the meantime you have a local solution.

Can we mark this as high priority given that any sort of configuration before building completely breaks it and is impossible?

Marked it low cause the getting started guide clearly states that west zephyr-export should be executed, and apparently that guide has not been followed on one of the workspaces.
https://docs.zephyrproject.org/latest/getting_started/index.html#get-zephyr-and-install-python-dependencies

Export a Zephyr CMake package. This allows CMake to automatically load boilerplate code required for building Zephyr applications.

west zephyr-export

that said, I will still look into a fix asap.

Can we mark this as high priority given that any sort of configuration before building completely breaks it and is impossible?

Marked it low cause the getting started guide clearly states that west zephyr-export should be executed, and apparently that guide has not been followed on one of the workspaces.
docs.zephyrproject.org/latest/getting_started/index.html#get-zephyr-and-install-python-dependencies

Export a Zephyr CMake package. This allows CMake to automatically load boilerplate code required for building Zephyr applications.

west zephyr-export

that said, I will still look into a fix asap.

Thanks! Yes, the zephyrproject2 workspace is indeed not exported. I just tried your solution. It can work now.

Can we mark this as high priority given that any sort of configuration before building completely breaks it and is impossible?

Marked it low cause the getting started guide clearly states that west zephyr-export should be executed, and apparently that guide has not been followed on one of the workspaces.
docs.zephyrproject.org/latest/getting_started/index.html#get-zephyr-and-install-python-dependencies

Export a Zephyr CMake package. This allows CMake to automatically load boilerplate code required for building Zephyr applications.

west zephyr-export

that said, I will still look into a fix asap.

Thanks! Yes, the zephyrproject2 workspace is indeed not exported.
Your solution can fix in my scenario.

I already did that yesterday, and it did not resole the issue.

Thanks, digging a bit deeper this is also depending on the order of which CMake decides to load each package for testing, as well as the way CMake stores Zephyr_DIR to the cache.
This has been fixed in #43311


Update github URLs

Change all occurrences of https://github.com/AdoptOpenJDK/openjdk-tests to https://github.com/adoptium/aqa-tests.

@llxia - we can coordinate a full regeneration of test pipelines today across "all" servers (adopt/openj9/internal), once this is merged.
Do you want to update the variable names as part of this PR? (ADOPTOPENJDK_REPO/ADOPTOPENJDK_BRANCH ?), I do not really care if we rename them or not, so will defer to what you want for it.  I think we will regen once this and https://github.com/adoptium/aqa-tests/pull/2612 are merged.
@keithc-ca - It will be useful to look for any other references to openjdk-tests in the repo, to ensure the repo rename is handled properly everywhere.

It looks like it is safe to merge this PR without regenerating all test jobs. Grinder links:
https://ci.adoptopenjdk.net/job/Grinder/741/
https://ci.adoptopenjdk.net/job/Grinder/742/
https://ci.adoptopenjdk.net/job/Grinder/743/

This reason is that this PR does not change root folder name (openjdk-tests-> aqa-tests), such as:
https://github.com/adoptium/aqa-tests/blob/2bc066b7ca739976c045aa3f0dc6cea44f0a6df2/buildenv/jenkins/testJobTemplate#L139
https://github.com/adoptium/aqa-tests/blob/2bc066b7ca739976c045aa3f0dc6cea44f0a6df2/buildenv/jenkins/testJobTemplate#L394
https://github.com/adoptium/aqa-tests/blob/f5ca2f240e7ab1155a669c9d64aa8840d701dba5/buildenv/jenkins/JenkinsfileBase#L16
In summary, I think we can get this PR merged and update the folder in a future PR.


MultiVerse Crashes server on join

Crashes when I or another player try to join the server. After removing MultiVerse the problem seems to be gone so I think this is the problem.
Crash log: http://pastebin.com/raw/KagAn31K
Crash report: http://pastebin.com/raw/3dSeBBX5

Versions?

MultiVerse version 2.1

Server version?

Server Version 1.7.10

Multiverse version?.

MultiVerse version 2.5

Use /ver Multiverse-Core

I can't... When anyone joins the server instantly crashes... I have MultiVerse disable right now. I also already said "MultiVerse version 2.5" in 3 other comments (including a pastebin).

And I've said to do /ver Multiverse-Core because there is more than one version of Multiverse 2.5

Multiverse-Core version 2.5-b641

That version is quite out of date

It's the latest one I can get with Bukkit

Try the latest here: http://ci.onarandombox.com/view/Multiverse/

I installed "Multiverse-Core-2.5.0-SNAPSHOT-javadoc.jar" and it doesn't show up with /pl after reloading/restarting the server multiple times. A config also doesn't show up. I will re-check all the files soon.

You want this version: https://ci.onarandombox.com/view/Multiverse/job/Multiverse-Core/lastSuccessfulBuild/artifact/target/Multiverse-Core-2.5.0-SNAPSHOT.jar

I used that version but it still crashes with all the same logs/reports. I'm not sure whats wrong.

I tried deleting the config folder and it still crashes.

Are you still having issues?

No, after removing a world it worked fine. I figured out that every time I went into one part of the map, the server  would crash. I deleted that world. Thanks for all the help!


feat: add github actions for opa rego testing

GitHub Actions that automates testing OPA policies on GitHub and also generates a report including coverage and test results!

Thanks! 😃