windows: TcpStream writes should be buffered

I have a feeling the Linux kernel does some form of buffering writes to a TCP stream before sending it off to the network. Right now Windows does 0 buffering, and this is quite a big performance hit!
Should investigate what Linux does and probably do something similar to that on Windows

Isn't this a little out of scope of mio? The goal here is to be zero-overhead, but buffers are overhead. Many applications already buffer data internally before writing to the TCP stream, and double-buffering should be avoided.
Maybe it is better to go the other way, and disable the buffering on other platforms.

Ah yeah sorry, to be clear there is no buffering or anything on the Unix side of things, this is only for Windows. Unfortunately mio's API is basically impossible to translate to a zero-overhead abstraction on Windows (due to the difference of IOCP vs epoll), so we've already bought into some form of overhead on Windows.
What I'm specifically thinking of here is something like:

When the first call to write is seen, the contents are transferred to an owned buffer to submit to the kernel (transfer is required for memory safety)
While that write is in flight, future calls to write will buffer in another owned buffer by the TCP handle.

Once this second buffer is full, future writes return WouldBlock

When the first write finishes, the pending write is automatically scheduled.

I'm not 100% sure if this is a great idea, I'd want to benchmark regardless. I noticed that the test_battery test in this repo was super slow on Windows, and I suspect that this is the cause (e.g. an architectural difference from Unix), but I'm not 100% sure (just an idea)

@alexcrichton further, it seems like the windows IOCP abstraction is impossible to implement safely in rust w/ zero cost.
The best way to think about what we are doing on windows is implement what Linux does in the kernel for epoll in mio (for windows).

I think maybe we're talking past each other a little bit.
The thing I want to avoid is where the application has a buffer (Vec or whatever) that mio then copies into a new buffer that mio allocates. Instead, I'd rather have the application transfer ownership of its buffer to mio so that mio can use it without copying and without any additional allocation. This is what I mean by avoiding double-buffering.
Alternatively, and perhaps even more ideally, when sending data, mio should provide a way for the application to grow mio's write buffer by N bytes and access it as a mut &[u8] for it to copy its data into, so that it can avoid allocating its own buffer. I would be happy if this interface were a Windows-specific optimization that only works for applications that are willing to add a Windows-specific code path.
The lack of double-buffering is one of the main advantages of the IOCP design so it would be a shame to lose it.

Is TCP_NODELAY set by default on Windows IOCP?  Nagling might help, here,
but it should definitely be optional.
It is pretty safe to say that in Linux, sockets do not buffer other than in
the outbound socket buffer that is DMA'd to the nic itself, the driver then
rings the doorbell if the nic isn't already working.  It is important to
note that there should be nothing stopping a process from writing into the
nic while its working. This is probably expected behavior, in fact.
Caveat: this is all a bit driver specific on both Linux and Windows, but I
can't imagine that Windows is much different.
Having said that...  I don't think adding another buffer would help with
anything other than very short-term latency (from the local app's
perspective).  If the battery test can't flush out of its own buffering
system (the backlog) fast enough, adding another buffer in the middle isn't
going to help at all.
In the worst case, another buffer would really mess up the behavior
characteristics:  After a single write() call, the OS will usually issue a
PSH, notifying the other side that it needs to flush its buffer back into
the final buffer to be read by read().  If you add an internal buffer, it
would lump the individual write()s into a single write(), thus eliminating
those PSH's that the application developer might be expecting.
This would be annoying for HTTP products.  It would be a show-stopper for
game devs or low-latency financial software.
On Mon, Aug 31, 2015 at 1:08 PM Carl Lerche<EMAIL_ADDRESS>wrote:

@alexcrichton https://github.com/alexcrichton further, it seems like
the windows IOCP abstraction is impossible to implement safely in rust w/
zero cost.
The best way to think about what we are doing on windows is implement what
Linux does in the kernel for epoll in mio (for windows).
—
Reply to this email directly or view it on GitHub
https://github.com/carllerche/mio/issues/244#issuecomment-136430407.

@briansmith yeah I agree that transferring ownership of a buffer into mio would be best for IOCP on Windows, but the current goal of mio is to optimize for Unix and then implement the same interface on Windows. As a result the traits take &[u8] and &mut [u8] buffers, so mio's forced by design to at least allocate a buffer when a write is scheduled.
I'm quite interested in exploring the space of I/O optimized for both Windows and Unix in theory, perhaps with an interface like you're mentioning, taking a buffer by value. This kind of library would probably use mio to be implemented on unixes, and then Windows would perhaps have a custom implementation with a direct binding to IOCP (to avoid the overhead of mio on Windows).

@rrichardson yeah I agree that doing extra buffering here would certainly be quite tricky, and we'd have to be careful to not mess with the semantics of normal reads/writes (which I'm certainly not comfortable enough to say so on myself).
I've done some profiling on Windows now and I no longer think that this is super pressing, and there's been some good points brought up here, so I'm going to close as "not now".


Added downstream support to pass through CRUD messages.

Codecov Report

Merging #142 into master will increase coverage by 0.03%.
The diff coverage is 70.76%.

@@            Coverage Diff             @@
##           master     #142      +/-   ##
==========================================
+ Coverage   87.37%   87.41%   +0.03%
==========================================
  Files          39       39
  Lines        3534     3544      +10
  Branches      278      278
==========================================
+ Hits         3088     3098      +10
  Misses        185      185
  Partials      261      261

Impacted Files
Coverage Δ

src/downstream.c
75.86% <70.76%> (-7.26%)
:arrow_down:

tests/test_client_list.c
91.42% <0%> (+5.71%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7829ec3...aa596dd. Read the comment docs.


[CLOUD-289] JDG simple authentication

Please, merge together with https://gitlab.mw.lab.eng.bos.redhat.com/cloudenablement/jboss-dockerfiles/merge_requests/371

pushed


Custom mysql connection for model

hello,
I would like to know if there is a way to change the connection to use mysql for "apikey" and "Apilog" I mean to add the attribute
protected $connection = 'mysql2';

In the model of "apikey" and "apilog"
I did not see the opportunity to do so in the code or configuration
thank you very much

@gilbert1995 custom ApiKey models can be defined now via the config. Check it out in the develop branch


Apply strict=True to __init__ in mypy plugin

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
Currently when mypy plugin is enabled, we can only enable/disable type checking of __init__ in plugin level via init_typed = True. I'd like the type annotations to also apply to models or fields with strict=True even when init_typed is set to false.
I have PR ready (#9998). Since this is my first time working with the mypy plugin, I would greatly appreciate any feedback or suggestions.
Example Code
class Model(BaseModel):
    a: int
    b: int = Field(strict=True)
    c: int = Field(strict=False)

# expected mypy error: b
Model(a='1', b='2', c='3')

class ModelStrictMode(BaseModel):
    model_config = {'strict': True}

    a: int
    b: int = Field(strict=True)
    c: int = Field(strict=False)

# expected mypy error: a, b
ModelStrictMode(a='1', b='2', c='3')

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[X] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

I think this makes sense, the main concern I have @sydney-runkle is that we need to make sure this doesn’t affect anyone that hasn’t opted into the behavior. In particular I’m worried that strict mode may still be somewhat laxer than exact type safety and so we could introduce spurious type errors in valid user code. I’d definitely be okay adding another strictness mode option to the plugin for this, but I could be convinced to have this as the default behavior as long as we felt it wouldn’t produce any spurious type errors for common usage patterns.
For what it’s worth the PR opened for this issue is precisely how I would suggest implementing it, just need to iron out whether this should be opt in or the standard behavior.


Multiple Service

Is there any way for me to delegate service run by specific instance system, its like what biztalk did in Host Intance

I'm unfamiliar with BizTalk, can you provide an example of what you want to do?

I will close this issue in one month with out further updates. @nujmail let me know if you can help us out by providing a more concrete sample of what you would like to do. Thank you. :)


Problem with travis?

It appears that there is a problem with the build configuration. pip install $DATEUTIL fails on Python 3.2 (and therefore also pypy3). This may be because pip>=8.0.0 no longer supports python 3.2.
See eg https://travis-ci.org/ryanss/python-holidays/jobs/232419470

I imagine it would be easiest to drop Python 3.2, it's no longer supported.

Here's a PR to drop Python 3.2: https://github.com/ryanss/python-holidays/pull/78.


Fix columns for s/m/l screens

Currently, columns only have two media width controls. Small or Large. Its not ideal for real-world use anymore, where many devices support larger screens or whatnot.
The margins on columns also conflict when trying to build sidebars and full-width columns.
Instead of: six columns
Have: s-column-6 m-column-6 large-column-6 or six-column or two-column-small two-column two-column-large
Should also add a media-query for hiding/showing elements, such as hide-small hide-medium hide-large or show-small show-medium show-large

Should consider using http://flexboxgrid.com/ and removing rows & columns altogether.

Actually that's no longer maintained. Should consider https://evgenyrodionov.github.io/flexboxgrid2/

Going to leave it for now...
Current column/row system is only 40 lines of CSS, while flexboxgrid2 is over 1,100 lines. It would be unfair to burden users with a huge increase in size just for more columns that may or may not be used.
Users can use flexboxgrid2 or any other third-party grid.css if they choose.


UIBootstrapper does not destroy/cleanup UIService properly

During unity test, when the scene is unloaded, the UIBootstrapper only calls this:
ServiceLocator.Instance.Unregister<UIService>();
Intuitively, this seems to be able to cause memory leak.
Anywho, it does not seem to be causing issue right now.

I have changed RaindropInstance back to a singleton. no more service locator.
It remains to be seen, if UIService will continue to register to ServiceLocator, or also refactor into a singleton of its own.
regardless, the destruction and registration of UIservice after the RDI refactoring seems to have no errors (no test regression).


[SPARK-25867][ML] Remove KMeans computeCost

What changes were proposed in this pull request?
The PR removes the deprecated method computeCost of KMeans.
How was this patch tested?
NA

Test build #98201 has started for PR 22875 at commit 9ee93b1.

Test build #98201 has finished for PR 22875 at commit 9ee93b1.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98201/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4586/
Test PASSed.

retest this please

Test build #98210 has started for PR 22875 at commit 9ee93b1.

Test build #98210 has finished for PR 22875 at commit 9ee93b1.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98210/
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4590/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4591/
Test PASSed.

Test build #98212 has started for PR 22875 at commit 62f8606.

Test build #98212 has finished for PR 22875 at commit 62f8606.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98212/
Test PASSed.

cc @holdenk @srowen

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4912/
Test PASSed.

Test build #98680 has finished for PR 22875 at commit c2fdddc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98680/
Test PASSed.

Test build #98874 has started for PR 22875 at commit 6e2d501.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5054/
Test PASSed.

Test build #98874 has finished for PR 22875 at commit 6e2d501.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98874/
Test PASSed.

any commetn on this @srowen @holdenk ?

Test build #99048 has started for PR 22875 at commit f09e985.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5176/
Test PASSed.

Test build #99048 has finished for PR 22875 at commit f09e985.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99048/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5180/
Test PASSed.

Test build #99057 has started for PR 22875 at commit f09e985.

Yes, the problem is that there is also the computeCost of BisectingKMeans. I proposed to deprecate it in 2.4 and remove in 3.0, but I didn't manage to have it done for 2.4 (please refer to the discussions on https://github.com/apache/spark/pull/22764 and https://github.com/apache/spark/pull/22756 for the details). So computeCost of BisectingKMeans cannot be removed in 3.0 (unfortunately). The examples for KMeans have already been updated using ClusteringEvaluator in #19676.

How about BisecingKMeansModel? That's what I was looking at. That computeCost is also deprecated.

Yes, it was deprecated in #22756 and it is deprecated since 3.0, so we cannot remove it...

Ah OK I wasn't reading that carefully.

Test build #99057 has finished for PR 22875 at commit f09e985.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #99109 has started for PR 22875 at commit 2b18e55.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5221/
Test PASSed.

Merged build finished. Test PASSed.

Test build #99109 has finished for PR 22875 at commit 2b18e55.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99109/
Test FAILed.

retest this please

Test build #99123 has finished for PR 22875 at commit 2b18e55.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99123/
Test FAILed.

retest this please

Test build #99133 has started for PR 22875 at commit 2b18e55.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5240/
Test PASSed.

Test build #99133 has finished for PR 22875 at commit 2b18e55.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99133/
Test PASSed.

sure, thanks @srowen , no need to apologize at all, thanks for your help reviewing this.

Test build #99174 has started for PR 22875 at commit 692ff63.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5274/
Test PASSed.

Test build #99174 has finished for PR 22875 at commit 692ff63.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  class RuleSummary(
class QueryPlanningTracker
class QueryExecution(

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99174/
Test PASSed.

Merged to master


Ideas on the kind of questions about related asyncapi question likely to be asked by users

Hello 👋
We need ideas on the kind of questions that is most likely to be asked from Lukasz(name of the bot) about anything related to asyncapi

Could you ask about it in our slack? Then more people will see your issue.


best practice for slot distribution in redis backends

Hi there,
I want to use some nutcrackers in front of a small set of Redis (cluster) backends. Currently this will be 5 backends and in summary 5 Masters with 4 Slaves each.
Can someone explain to me, what the better option will be? To use 5 independend clusters containing 1 master with 16384 hash slots mapped to each cluster or to use on big cluster containing all masters with a distributed set of hash slots?
As I want to use sharding from nutcrackers site, I wonder what the best practice will be in that case.
cheers,
hauke

On Aug 21, 2015, at 21:44, Hauke Bruno<EMAIL_ADDRESS>wrote:
Hi there,
I want to use some nutcrackers in front of a small set of Redis (cluster) backends. Currently this will be 5 backends and in summary 5 Masters with 4 Slaves each.

First things first: now that Redis Cluster is available, do try to not call a master-slave setup a cluster. It merely confuses things.
So you are planning to run 5 masters, each master having 4 slaves, so 5 masters and 20 slaves in all; is that correct?

Can someone explain to me, what the better option will be? To use 5 independend clusters containing 1 master with 16384 hash slots mapped to each cluster or to use on big cluster containing all masters with a distributed set of hash slots?

Now you seem to be talking about Redis Cluster, which you won't want to have behind Twemproxy at all.  Perhaps you can explain it more clearly, being sure to only use the term cluster to mean Redis Cluster. Feel free to use Pod for a master+slaves configuration.

As I want to use sharding from nutcrackers site, I wonder what the best practice will be in that case.

It depends on what your needs are, why you think you will need so few masters to so many slaves, and what workload and goals you are after.
Cheers,
Bill

Hi Bill,
sorry for the confusion.

So you are planning to run 5 masters, each master having 4 slaves, so 5 masters and 20 slaves in all; is that correct?

Yes. I have 5 virtual maschines and want to run 5 redis instances each (1 as a master and 4 as slaves for the other masters).

Now you seem to be talking about Redis Cluster, which you won't want to have behind Twemproxy at all.  Perhaps you can explain it more clearly, being sure to only use the term cluster to mean Redis Cluster. Feel free to use Pod for a master+slaves configuration.
It depends on what your needs are, why you think you will need so few masters to so many slaves, and what workload and goals you are after.

What I need (or want) is a highly available redis backend for one frontend application. The application itself can't talk to the native redis cluster now, so my idea is to let the application talk to twemproxy and let twemproxy talk to the 5 redis masters (and let the 5 redis masters replicate their stuff to 4 other slaves each for availability). Sentinel and Smitty (or an equal agent) should do the failover things.
The workload is a bit unknown for me, so it could be possible to add more redis masters later on. Those high number of slaves is just a kind of paranoia, I do not want things to stop work.
thanks,
hauke

On Aug 22, 2015, at 01:54, Hauke Bruno<EMAIL_ADDRESS>wrote:
Hi Bill,
sorry for the confusion.

No worries, it happens. Especially with the word "cluster". ;)

So you are planning to run 5 masters, each master having 4 slaves, so 5 masters and 20 slaves in all; is that correct?
Yes. I have 5 virtual maschines and want to run 5 redis instances each (1 as a master and 4 as slaves for the other masters).

Begging some leeway, I'd like to drill this down further. So we have 5 VMs. Each VM will run one master, and 1 slave for each other master in the system. Thus each master only has one slave.  Is that accurate?

Now you seem to be talking about Redis Cluster, which you won't want to have behind Twemproxy at all. Perhaps you can explain it more clearly, being sure to only use the term cluster to mean Redis Cluster. Feel free to use Pod for a master+slaves configuration.
It depends on what your needs are, why you think you will need so few masters to so many slaves, and what workload and goals you are after.
What I need (or want) is a highly available redis backend for one frontend application. The application itself can't talk to the native redis cluster now, so my idea is to let the application talk to twemproxy and let twemproxy talk to the 5 redis masters (and let the 5 redis masters replicate their stuff to 4 other slaves each for availability). Sentinel and Smitty (or an equal agent) should do the failover things.
The workload is a bit unknown for me, so it could be possible to add more redis masters later on. Those high number of slaves is just a kind of paranoia, I do not want things to stop work.

So here is what I would recommend given what I understand of the above:
Keep clustering in mind when laying out your data structures. By that I mean try to use commands that work in cluster modes. For example, avoid mget and multi-key operations such as sorted set set operations.
Next, I would use "you ain't gonna need it" (YAGNI) principle and go with a straightforward single-master and one or two slave setup using sentinel to manage failover. Redis can handle very high rates of traffic, into the millions. What you know of your use case doesn't sound like the ones Redis Cluster is designed for.
For HA I almost always recommend Pods over Clustering. Nearly all major libraries support sentinel - even if you have to execute the commands to find the master yourself. Fail overs in Redis are quite rare in my experience (I run thousands of these) so unless your app will be differentiating reads and writes onto slaves and the master, more than two slaves doesn't really get you much.
Indeed you could even put a TCP load balancer in front of the pod to entirely isolate Sentinel usage from the clients, but that may be unneeded complexity. If running Sentinel you may want to check out https://github.com/sentinel-tools/ for some convenience tools.
Cluster brings a lot of complexity and operational overhead - and you can't put a proxy in front of it and have it work out of the box. Plus it is designed make for having multiple write masters, or for exceeding the limits of physical memory by effectively pooling memory from multiple systems.
Twemproxy primarily handles doing some of what cluster does (you'd still need to manage Redis fail overs and their knock-on effects), and can provide a decent way to scale concurrent connections. If your client connections are not large this benefit may not be applicable.
Indeed if my understanding of your current plan is accurate it is actually more fragile than you'd think. I'll explain more if my understanding is accurate.
Redis has some nice HA tools, but fortunately due to it's speed and robustness they are rarely needed. I'd keep it simple until you've got some decent data around workload and specific use. Otherwise you could see longer delays and more sleepless nights than slowly adding complexity when it solves a specific problem.
Cheers,
Bill

So we have 5 VMs. Each VM will run one master, and 1 slave for each other master in the system. Thus each master only has one slave.  Is that accurate?

From my current point of view, the layout should be the following:
VM1: M1, S2, S3, S4, S5
VM2: M2, S1, S3, S4, S5
VM3: M3, S1, S2, S4, S5
[...]
I fully agree with all your points (especially using KISS principle), but my current situation is the following: I do have a customer who developed an application using redis. But the client libraries used in that app can't talk to Redis Cluster. My job is now to evaluate and implement some kind of architecture that provides one single endpoint to the client that is highly available (+ scalable for the future). I also do not have the opportunity to edit the application servers (e.g. putting sentinels to it).
So I definitively need some kind of virtual IP that is provided by whatever to enable the communication from the client to the (more or less dynamic) redis instances. Of cource I could put some TCP balancers in the front, but then I need to implement the Redis failover logics to it, therefore the current idea is to use twemproxy for serving that endpoint.
I know that this will add a lot more complexity to the whole system instead of just using Redis Cluster and I look forward to change the client side for native Cluster support, but for now I need a good solution to serve 1 (or 5) Redis Cluster to a non-redis-cluster client.
cheers,
hauke

On Aug 22, 2015, at 21:19, Hauke Bruno<EMAIL_ADDRESS>wrote:
So we have 5 VMs. Each VM will run one master, and 1 slave for each other master in the system. Thus each master only has one slave. Is that accurate?
From my current point of view, the layout should be the following:
VM1: M1, S2, S3, S4, S5
VM2: M2, S1, S3, S4, S5
VM3: M3, S1, S2, S4, S5
[...]

Ok, that's what I thought. Thanks for the clarification. Particularly given these are virtual machines I'd recommend against that layout. If you actually have five pods worth of write transactions your network will choke between the master traffic and the replication traffic.
Consider this. Say you have 10Mb/second of write traffic to each master. That would mean you have 50Mb inbound to each VM and a minimum of 40Mb outbound - not counting read traffic from the master.
Now that may sound like very little. But if you have enough write traffic to actually need multiple masters you are very unlikely to have the bandwidth on your NICs to smoothly handle the traffic for the rest. Redis is faster then your network.
To give you an idea, a single Redis master can send enough data to swamp a 1GB NIC without breaking a sweat, or even breathing hard.

I fully agree with all your points (especially using KISS principle), but my current situation is the following: I do have a customer who developed an application using redis. But the client libraries used in that app can't talk to Redis Cluster. My job is now to evaluate and implement some kind of architecture that provides one single endpoint to the client that is highly available (+ scalable for the future). I also do not have the opportunity to edit the application servers (e.g. putting sentinels to it).
So I definitively need some kind of virtual IP that is provided by whatever to enable the communication from the client to the (more or less dynamic) redis instances. Of cource I could put some TCP balancers in the front, but then I need to implement the Redis failover logics to it, therefore the current idea is to use twemproxy for serving that endpoint.

You don't have to implement failover logic in the load balancer. You can have sentinel do that by having it run in the balancers and having it reconfigure them when a failover occurs. It is pretty standard Redis architecture, and you can find many resources in how to do it.
That said, if you have no access to the client, you've got another problem lying in wait if you go with either Twemproxy or Redis Cluster. Neither of them support the full Redis command set. As a result the moment tour client decides to use a standard Redis command which doesn't work on whichever you go with, your service - more accurately their application - will break.

I know that this will add a lot more complexity to the whole system instead of just using Redis Cluster and I look forward to change the client side for native Cluster support, but for now I need a good solution to serve 1 (or 5) Redis Cluster to a non-redis-cluster client.

 That is a non-starter as Twemproxy doesn't support it either. If that is your intent I'll submit you don't understand Redis Cluster or Twemproxy  well enough to be designing a system combining the two.
Ultimately the decision is, of course, yours. However as someone with a lot of experience with Redis across thousands of systems and in a large variety and sizes, I would neither implement nor recommend what you are planning.
If you want the official Redis Cluster to be transparently proxied to clients which don't understand protocol you will need to write said proxy yourself as it does not currently exist.
If you simply need transparent HA you will need to set up a TCP load balancer which is updated based on failovers.
Cheers and good luck,
Bill

Thanks for the explainations. I think it would be the best to just start with one Redis Cluster behind a HAProxy/Sentinel box for providing HA.
Using my planned architecture seems a lot more complicated than I thought, so I will follow your recommendations and keeping things simple.
Thanks a lot for the advices,
cheers,
hauke

On Aug 23, 2015, at 20:13, Hauke Bruno<EMAIL_ADDRESS>wrote:
Thanks for the explainations. I think it would be the best to just start with one Redis Cluster behind a HAProxy/Sentinel box for providing HA.

 But you can't place Redis Cluster behind a proxy and expect it to work unless you teach said proxy to act as a cluster client and handle all redirections and topology changes. Any existing proxy will simply proxy the responses from the Cluster. Thus when you ask it for a key and it proxies to a node which doesn't have it, HAproxy will proxy the "MOVED" reply to the client, which as you've already indicated won't understand it.
What your looking for is a simple Redis master with a couple slaves and sentinel handling failover and updating HAProxy on the rare occasion it happens. Don't look for Redis Cluster in this setup.

Using my planned architecture seems a lot more complicated than I thought, so I will follow your recommendations and keeping things simple.
Thanks a lot for the advices,

You're welcome. Anytime I can help someone avoid a deep hole of needless pain with Redis, it's worth the effort. Do keep in mind the Google Group for areas on your path.
Cheers,
Bill


Wrong information about Interface

https://github.com/manojpramesh/solidity-cheatsheet#interface

Interfaces can inherit from other interfaces.
Example

interface IERC20 { ... }

interface WETH is IERC20  { ... }

Solidity 0.6.x features

https://blog.soliditylang.org/2020/06/18/solidity-0.6-inheritance/

This document still follows 0.5.x. Currently working on updating and versioning each release. Will push soon.


targetContentOffset not available on Android

Description
I have a ScrollView and I'm reading e.nativeEvent.targetContentOffset in a onScrollEndDrag to figure out where the scrolling offset will end. However, Android does not have this property.
So I thought I could compute this myself using the velocity but that is not exposed either.
Solution
Not sure yet.
Additional Information

React Native version: 0.37
Platform: Android
Operating System: MacOS

@arv Hi!
I have the same problem in 0.41, do you know what the target is?
{ nativeEvent: { target: number } }

We're cutting down on the number of outstanding issues, in order to allow us to focus. I'm closing this issue because it has been open for over 60 days with no activity. If you think it should still be opened let us know why. PRs are always welcome.

@arv did you find a solution to this?

@kirakik Nope. Ended up redesigning the whole UI to not depend on this :-(

@arv? Can I ask how you went about it? Used Animated instead of a scroll view?


Fix devcontainer setup

Update Python to 3.9.
Remove postStartCommand. User will be required to follow all of the commands from the contributing documentation inside the container.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.00%. Comparing base (993f2f8) to head (461c725).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #68   +/-   ##
=======================================
  Coverage   80.00%   80.00%
=======================================
  Files           5        5
  Lines         235      235
=======================================
  Hits          188      188
  Misses         47       47

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


Fix schmaVersionAtURL:encryptionKey:error to throw when imported into Swift

Fixes an issue where schemaVersionAtURL:encryptionKey:error, when used in Swift from the Objective-C API, would not import as throwing. Also, this now check return value to determine if there's an error in accordance to Cocoa conventions.
Fixes https://github.com/realm/realm-cocoa/issues/3816

Note that this doesn't break the API for anyone except Swift users of the Realm Objective-C API. If this is unacceptable expect in a major version bump, I'll add the original API back as well and deprecate it.

Note that NS_REFINED_FOR_SWIFT was required since there is currently no way to indicate to the importer that a specific, non-zero return value indicates failure (existing conventions).

I'd be inclined to just leave the swift 2.2 RLMRealm API as-is (and not even bother deprecating it) since we get the free break with Swift 3.

@tgoyne I don't think I can apply NS_REFINED_FOR_SWIFT to only a single Swift version though, right?

The Swift 2.2 implementation in RLMSupport.swift can implement the old API while the Swift 3.0 one implements the proper version.

@tgoyne The Swift function cannot exactly reimplement the Objective-C function since they'd share the same selector.

Method 'schemaVersionAtURL(:encryptionKey:error:)' with Objective-C selector 'schemaVersionAtURL:encryptionKey:error:' conflicts with method '__schemaVersionAtURL(:encryptionKey:error:)' with the same Objective-C selector

With that in mind, should we keep with the deprecation approach?

Marking the Swift method as @nonobjc should work.

@tgoyne Perfect! I had no idea that existed! Wish Xcode gave me a fixit there.


Added Voting.sol and Raffle.sol to Blockchain/Intermediate

🎉 Have you reviewed the Contributing Guidelines? 🤔 (Required)

[x] YES
[ ] NO

📝 Description
I have added two solidity smart contracts Voting.sol and Raffle.sol to Blockchain Development/Intermediate. Voting allows a decentralized and tamperproof voting to be conducted where a user(owner) adds the candidates and authorizes selected voters to vote whereas Raffle is like lottery where an owner starts it and other users can enter it by paying a small fee, at end of which a winner is randomly selected and can claim the prize amount.
🔧 Fixes #1340  (Required)
🏷 Initiative Participation (Required)

[ ] 🌸 GSSoC (Girl Script Summer of Code)
[x] 🌼 GSSoC 2024 Extd.
[x] 🍂 Hacktoberfest 2024
[ ] ❄ Script Winter of Code (SWoC)
[x] ⛄ Winter of Blockchain (WoB)
[ ] 🙋♂ Personal
[ ] 📌 Other (please specify): _______________

I am the mentor of this project.
@ShivRaiGithub Hello
I appreciate your pull request , can you give working video !!!!

Hi @SakiraAli1115
Sure. Will send a demo video of both of them on remix (online compiler) till tonight.

@SakiraAli1115  Here is the demo video
https://github.com/user-attachments/assets/3b24483f-1d3a-4e4a-9fef-ae8aa05ad783

Ok sure, will do the required changes.

@Kushal997-das I have updated the documentation readme files, structured files according to the format, updated the Intermediate readme file. Please review and let me know.

@Kushal997-das  Raffle and voting are 2 separate projects.

You can’t add two projects in single time , you must read our guidelines
first before blindly contribution
On Tue, 22 Oct 2024 at 11:17 AM, Shiv Rai @.***> wrote:

@Kushal997-das https://github.com/Kushal997-das Raffle and voting are 2
separate projects.
—
Reply to this email directly, view it on GitHub
https://github.com/Kushal997-das/Project-Guidance/pull/1477#issuecomment-2428312546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOUDPZIYEF2DWRZ3Y4BYLELZ4XRILAVCNFSM6AAAAABP6KM5JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRYGMYTENJUGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Kushal997-das Although I wasn't able to find any point which explicitly mentioned that there has to be only one project per pr, yet if you want,  I can create another PR for the 2nd project and make sure this one contains only 1 project.

Hey @Kushal997-das I have updated the PR to contain only 1 project in the intermediate section. Its Raffle. Will create a new PR to include Voting after this is accepted.

Hello @ShivRaiGithub no need to create another one .

Ok @Kushal997-das . How do you wish to proceed then ? Since there are 2 projects. I have already removed one of them. I can add it again if you want 2 to be included in 1.

@ShivRaiGithub Add only one.

@Kushal997-das Ok. There is only one in this PR

You can review.

add level labels @Kushal997-das
Regards ,
Community Manager gssoc-ext


support for 1.21.3

Changelog for DeathPenalty Plugin (v1.1.2)
v1.1.2 - 2024-11-15
Updated to Minecraft 1.21.3
Ensured compatibility with the latest Minecraft and Paper/Purpur API changes. Verified plugin works on Minecraft 1.21.3, testing core features on the updated server. Configuration System Enhancements
Introduced a version check for configuration files to detect and handle outdated or incompatible configurations. Added fallback default version in configuration when version key is missing, reducing null-related errors on startup. Improved warnings and logging messages for config version mismatches, providing clearer diagnostics for users. Improved HP Deduction Logic
Enhanced the hp.setTo option to support both absolute values and percentage-based deductions. Added validation for hp.setTo values, ensuring they are either a positive integer or a percentage string (e.g., "50%"). Enhanced Food and XP Deduction Options
Added validation for food.setTo to ensure it’s within the valid range (0–20). Implemented percentage-based retention for XP (xp.setToPercent), allowing players to retain a specified percentage of XP upon death. Money Deduction with Vault Integration
Implemented Vault dependency for deducting in-game currency (money.setToPercent), allowing configurable percentage-based money retention after death. Added validation to ensure money deduction percentage is within the range of 0–100. General Code Improvements
Optimized code structure and refactored some sections for better readability and maintenance. Added logging messages to provide more context and feedback on plugin actions during server startup and shutdown.

You MUST NOT break the backward compactibility. Keep the current Java and Bukkit API version before doing anything else.

Nope that one is on me, that was a minor oversight from uploading wrong file.


Added hashing function requirement

I quite like this, should be a good conversation point. Hopefully isn't too daunting for a more junior candidate. Another sentence on what the expectation around properties of the hash (should it be secure, length of output, distribution of outputs etc) might also make it less intimidating (unless the point is to let the candidate interpret the brief and justify their implementation of said brief?)
Will leave for others to comment and/or approve.


Removing some CQUI hotkeys

I would like to remove CQUI handling of some keyboard shortcuts.
These seem to be all the keys that CQUI support and also can be rebound to whatever the user wants in the base game.

Function
Base game key default
CQUI

Next City
]
E (When city selected)

Previous City
[
Q (When city selected)

Next Ready Unit
.
E (When city not selected)

Prev Ready Unit
,
Q (When city not selected)

Pan Map
Arrow Keys
WSAD

Auto Explore
E
Alt + E

Capital City
\
Home

Air Strike/Ranged Attack
R
S or Alt+S depending on CQUI option

I think CQUI added these since originally the game didn't have hotkeys for some of these functions. For some that had assigned hotkeys the game didn't allow remapping to other keys (I believe panning was hardcoded to the arrow keys).
Since now the base game does have the functionality to remap those functions I am proposing that we remove them from CQUI and let the base game handle them. Any thoughts, objections, concerns? (@alexeyOnGitHub , @the-m4a , @Infixo , and anyone else who runs across this)

This seems ok with me - assuming the game lets you remap as you indicate. Communicating changes to people subscribed isn't easiest thing to do - I mean they could go to the page but would it be worth it to put a message on the key bindings CQUi menu to say "use the keyboard mappings built into the game" or similar message?


Time series model option

can you include a time series model option in the experiment design?

Created a pull request for the time series model. Once code has been reviewed then we will merge the changes into master and close this issue.

Successfully added the time series model.


how to make membersrvc

Description

vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric$ make membersrvc
CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" GOBIN=/opt/gopath/src/github.com/hyperledger/fabric/build/bin go install github.com/hyperledger/fabric/membersrvc
go install github.com/hyperledger/fabric/membersrvc/ca: open /opt/gopath/pkg/linux_amd64/github.com/hyperledger/fabric/membersrvc/ca.a: permission denied
make: *** [build/bin/membersrvc] Error 1
I tried sudo make membersrvc:
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric$ sudo make membersrvc
CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" GOBIN=/opt/gopath/src/github.com/hyperledger/fabric/build/bin go install github.com/hyperledger/fabric/membersrvc
go: cannot find GOROOT directory: /usr/local/go
make: *** [build/bin/membersrvc] Error 2
Describe How to Reproduce

Hi @gq4fabric,
\1 I don't know what I'm doing wrong [;-)], but make membersrvc works for me.
\2 Just to say, that you don't need to run the commands as an admin (re: sudo) as the setup scripts configure things for the vagrant user (this is why you get the 2nd GOROOT related error (and potentially others later) when trying to build with sudo. So let's focus on the first. You should be able to build directly, and it looks like this:
vagrant@hyperledger-devenv:v0.0.10-35326c2:/opt/gopath/src/github.com/hyperledger/fabric$ make membersrvc

[snip]

Binary available as build/bin/membersrvc
vagrant@hyperledger-devenv:v0.0.10-35326c2:/opt/gopath/src/github.com/hyperledger/fabric$ whoami
vagrant

\3 I think the cause of this issue is actually at the provisioning steps (vagrant up/vagrant ssh). See how you have:
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric
You should have something similar to my terminal/console:
vagrant@hyperledger-devenv:v0.0.10-35326c2:/opt/gopath/src/github.com/hyperledger/fabric
Can you please take a look at the output of the vagrant setup for errors?
\4 A suggestion: is it possible that you are/were trying to execute/run this from a location that does not have access to some (docker) repositories?

You can post your output here and/or you can also hit me/us up on Slack either directly (JonathanLevi) or on the #fabric-dev channel if that's easier...

@JonathanLevi
I reboot the guest virtualbox and It seems that there are no errors. The output is the following:
Administrator@gq MINGW64 /c/go/src/github.com/hyperleger/fabric/devenv (master)
$ vagrant.exe up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'hyperledger/fabric-baseimage' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 5000 (guest) => 5000 (host) (adapter 1)
default: 30303 (guest) => 30303 (host) (adapter 1)
default: 50051 (guest) => 50051 (host) (adapter 1)
default: 31315 (guest) => 31315 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: <IP_ADDRESS>:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.3.36
default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
default: /vagrant => C:/Go/src/github.com/hyperleger/fabric/devenv
default: /local-dev => C:/Go/src/github.com/hyperleger/fabric
default: /hyperledger => C:/Go/src/github.com/hyperleger/fabric
default: /opt/gopath/src/github.com/hyperledger/fabric => C:/Go/src/github.com/hyperleger/fabric
==> default: Machine already provisioned. Run vagrant provision or use the --provision
==> default: flag to force provisioning. Provisioners marked to run always will still run.
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric$ make membersrvc
CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy" GOBIN=/opt/gopath/src/github.com/hyperledger/fabric/build/bin go install github.com/hyperledger/fabric/membersrvc
go install github.com/hyperledger/fabric/membersrvc/ca: open /opt/gopath/pkg/linux_amd64/github.com/hyperledger/fabric/membersrvc/ca.a: permission denied
make: *** [build/bin/membersrvc] Error 1
The file /opt/gopath/pkg/linux_amd64/github.com/hyperledger/fabric/membersrvc/ca.a does not exist.
This means that the ca.a has not been compiled,why?

The prompt "vagrant@ubuntu-1404" indicates that your vagrant environment did not provision properly.  Merely rebooting it will not fix this (thus the message about "Machine already provisioned" at the end.  To fix this, please run "vagrant destroy" followed by "vagrant up" to rebuild the guest.  Make note of any errors, and paste them here.  If you do not see a prompt that looks something like "vagrant@hyperledger-devenv:v0.0.10-35326c2", then something is still wrong.

@ghaskins
I destroy the host and rebuild it.  Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.*

@gq4fabric The issue means you are in china, you need cross the GFW:). Best approach is using VPN or lantern. The manual approach please refer to #1271

We suspect that you don't have access to the golang.org repository. Do you happen to run this from China, by any chance? See also: https://github.com/hyperledger/fabric/issues/1271

Oh, sorry @GrapeBaBa - our messages crossed (but at least we agree! ;-)). I also discussed this earlier this morning with @ghaskins (who has a nice suggestion as for how to highlight/indicate more explicitly that something went wrong at/during the provisioning stage).
But first, @gq4fabric, let's get you up and running. Let us know if you are able to successfully get the file dependencies... or otherwise.

Hi, I am running it on a Mac and seem to have the same issues as @gq4fabric is having. @gq4fabric were you able to get it up and running finally?
When I ran the vagrant up command, there weren't errors, but my system always hang so I had to reboot it. And yes, my environment variable is vagrant@ubuntu-1404. I also tried vagrant destroy and when I ran vagrant up, it hung again. Also, I'm not in China :P


fix: DevGenerator Nullable

What does the pull request do?

fixes following warnings:
Warning	CS8604	Possible null reference argument for parameter 'items' in 'ClassDeclarationSyntax ClassDeclarationSyntax.AddMembers(params MemberDeclarationSyntax[] items)'.	DevGenerators	src\tools\DevGenerators\CompositionGenerator\Generator.cs	301	N/A
Warning	CS8604	Possible null reference argument for parameter 'oldNode' in 'ClassDeclarationSyntax SyntaxNodeExtensions.ReplaceNode<ClassDeclarationSyntax>(ClassDeclarationSyntax root, SyntaxNode oldNode, SyntaxNode newNode)'.	DevGenerators	src\tools\DevGenerators\CompositionGenerator\Generator.ListProxy.cs	115	N/A
Warning	CS8602	Dereference of a possibly null reference.	DevGenerators	src\tools\DevGenerators\CompositionGenerator\Generator.ListProxy.cs	115	N/A
Warning	CS8602	Dereference of a possibly null reference.	DevGenerators	src\tools\DevGenerators\EnumMemberDictionaryGenerator.cs	38	N/A
Warning	CS8602	Dereference of a possibly null reference.	DevGenerators	src\tools\DevGenerators\GetProcAddressInitialization.cs	54	N/A

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

You can test this PR using the following package version. 11.0.999-cibuild0029463-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0029475-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


Any thought to how to deal with packages with executables?

SwiftProtobuf seems to be failing for 5.3 for watchOS and iOS because our package also has executables and thus the watchOS, tvOS, and iOS builds fail.  Since SwiftPM doesn't have a way to indicate this, any thoughts for how to avoid this and only build the valid subset?
https://swiftpackageindex.com/builds/28D5E7F0-04B9-413B-B04E-59DDF1154C03

I've just had a quick look and the reason iOS, tvOS, and watchOS are failing is that we're not picking the correct scheme. I can build all three by adjusting that.
I can fix this up with an override but we're also trialling a config file that you could ship with the repo, if you'd like to give that a go: Add .spi.yml at the root of the package with the following content:
version: 1
builder:
  configs:
  - platform: ios
    scheme: SwiftProtobuf_iOS
  - platform: tvos
    scheme: SwiftProtobuf_tvOS
  - platform: watchos
    scheme: SwiftProtobuf_watchOS

So it will use a checked in Xcode project also?  It wasn't clear if there was a way to get it to do that vs. using the Package.swift and newer Xcode support.
Should we just land this file and check in a few days to see if things do any better?

Yes, we also use checked in project/workspace files. There's a little more detail here but essentially, we check xcodebuild -list but give up if there are multiple schemes and ignore project files altogether.
If you'd like to give that file a spin that'd be great. It'll only affect the default branch until release obviously. If you'd like the correct status reflected sooner I can also bring in the override (which I can set to affect all revisions) - let me know what you prefer. (The override will be ignored if you ship your own file later.)

Also, please be aware that we may need to tweak this file quite a bit potentially. Hence the version number :)

If you'd like to give that file a spin that'd be great. It'll only affect the default branch until release obviously. If you'd like the correct status reflected sooner I can also bring in the override (which I can set to affect all revisions) - let me know what you prefer. (The override will be ignored if you ship your own file later.)

We're likely gonna have a release in the near future, so I'm good waiting for that to reflect it in the future.

Also, please be aware that we may need to tweak this file quite a bit potentially. Hence the version number :)

Yup, no worries, glad to see it thought of.  👍
Hopefully not overloading this issue too much the 5.0 and 4.2 builds generally seemed to fail with lots of issues.  Is the spi.yml likely to help those, or will it need some more tweaking to get things right?  We've got linux CI via github actions covering those versions, so they should be green.  And last time I did manually checks in Xcode versions I thought things were working.

PS: I ran all these against 1.11.0

error: SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2. (in target 'SwiftProtobuf_iOS')

Yea, so this is the problem with having to have a checked in Xcode project, we have to set the language version to something, right now it is set to 5 because that's the best choice for all our supported toolchains except the 4.2 one.  And forcing all the newer Xcode's to use the older Swift Language Version also isn't right.
This is where it would be nice to build via SwiftPM and have it just ignore the executables since those are only buildable for Linux/macOS in general, but SwiftPM doesn't really express that.  Is there a way to tell it to use the SwiftProtobuf instead of the SwiftProtobuf-Package scheme from the Package.swift?  (although the 4.2 toolchains didn't have direct Xcode+SwiftPM support, so I guess you'd need to generate a project first also?)

Mmm... the recommendation we got from the Apple SPM team was not to use SPM to build anything other than for macOS 😅 - if that was what you're suggesting.
One thing I tried just now was to remove the xcodeproj and regenerate it with 4.2's package generate-xcodeproj - and then build with xcodebuild. But that fails in a similar way to how iOS fails in later Swift versions when built with a -Package scheme:
 sas@Ceres  ~/D/checkout  ⎇ *…  env DEVELOPER_DIR="/Applications/Xcode_10.1.app" xcrun swift package generate-xcodeproj
generated: ./SwiftProtobuf.xcodeproj
 sas@Ceres  ~/D/checkout  ⎇ *…  env DEVELOPER_DIR="/Applications/Xcode_10.1.app" xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride="$PWD/.dependencies" -derivedDataPath "$PWD/.derivedData" build -scheme "SwiftProtobuf-Package" -destination "generic/platform=ios"
User defaults from command line:
    IDEClonedSourcePackagesDirPathOverride = /Users/sas/Downloads/checkout/.dependencies
    IDEDerivedDataPathOverride = /Users/sas/Downloads/checkout/.derivedData

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
error: unable to resolve product type 'com.apple.product-type.tool' for platform 'iphoneos' (in target 'protoc-gen-swift')

Build system information
error: unable to resolve product type 'com.apple.product-type.tool' for platform 'iphoneos' (in target 'Conformance')

Build system information
error: unable to resolve product type 'com.apple.product-type.tool' for platform 'iphoneos' (in target 'protoc-gen-swift')

Build system information
error: unable to resolve product type 'com.apple.product-type.tool' for platform 'iphoneos' (in target 'Conformance')

Build system information
warning: duplicate output file '/Users/sas/Downloads/checkout/.derivedData/Build/Products/Debug-iphoneos' on task: Ld /Users/sas/Downloads/checkout/.derivedData/Build/Products/Debug-iphoneos normal arm64 (in target 'Conformance')

Build system information
warning: duplicate output file '' on task: Ld /Users/sas/Downloads/checkout/.derivedData/Build/Products/Debug-iphoneos normal arm64 (in target 'Conformance')

** BUILD FAILED **

Do you have a sequence of commands that'll get a passing build with 4.2/ios? I can try and map that to our build system to see if we could make that configurable.

Our primary means of support has been SwiftPM and CocoaPods. The checked in Xcode project is mostly there for folks that want to use Carthage (or do their own thing/manual project work so it is a reference for them).  If folks have needed the Xcode project with old toolchains, we just assume they "fix" that one value (or pass an override if they command line things).  For those older toolchains, I think most folks on those older toolchain use CocoaPods and thus avoid some of these issues.
For all but the 4.2 case, I was thinking use xcodebuild but us the built in SwiftPM support.  I believe it makes a *-Package scheme to build everything, but also makes schemes for the library products, so I was thinking for iOS, tvOS, & watchOS, maybe just building the schemes related to the non executable products would work to avoid the executable problems for platforms where those don't make sense.  4.2 is just generally hard since there aren't as many options since it didn't have as rich of support for all the Apple platforms.

Ok, so the change was picked up and master is all green now, except for the outstanding issues with the non-SPM builds: https://swiftpackageindex.com/apple/swift-protobuf/builds
I'm not sure there's much we can do here and if I understood your last comment correctly you're ok with that?
Let me know and I'll close this one :)

I don't suppose there's a way to tweak the xcodebuild command line for the 4.2 builds specifically in that YML file?  We could add SWIFT_VERSION = 4.2 to the end of the command line, it likely would pass.
Anyways, yea go ahead and close this.

Oh, that's actually great - and works, too. Do you know if that should work universally? I.e. I'm thinking I could just
env DEVELOPER_DIR="/Applications/Xcode_10.1.app" ... SWIFT_VERSION=4.2
env DEVELOPER_DIR="/Applications/Xcode_10.3.app" ... SWIFT_VERSION=5.0
env DEVELOPER_DIR="/Applications/Xcode_11.3.1.app" ... SWIFT_VERSION=5.1
env DEVELOPER_DIR="/Applications/Xcode_11.6.app" ... SWIFT_VERSION=5.2
env DEVELOPER_DIR="/Applications/Xcode_12_beta_4.app" ... SWIFT_VERSION=5.3

At the very least we could add that as part of the config but if it work generally I can just make it part of the build command. I'll give that a spin.

The only downside I know of is if someone's Xcode project for newer Xcode's still explicitly says to us 4.2 syntax because they hadn't updated their code.  You'd potentially be forcing a version something like 5 on a project doesn't actually support for their own compilation.
p.s. - Since this is the --swift-version, I believe the only valid values are still 3.0, 4.0, 4.2, and 5.0 (depending on what the toolchain supports - i.e. - like the current error message).

Yea I'm a little reluctant to do this. I think since we have the config override file rapidly becoming "a thing" we might want to make this something that's triggered via that rather than imposing it on every build.
I haven't looked into the implications (been busy all day), but unless this a truly a move without downsides I think we should approach this with caution.

Yea, I was originally asking just if there was a way for us to opt into this by setting it up since we know it will fix things since we have to use the checked in project for validations.

I've got an override which works in my initial testing and is ready for review and roll-out here: https://gitlab.com/finestructure/swiftpackageindex-builder/-/merge_requests/29
However, I also thought about this a bit more this morning and I think there's one question is worth discussing: By adding this particular override we turn a lamp green that won't be green for users. The scheme overrides are different, because there we're correcting towards a situation that users of the package would normally see.
Here, on the other hand, we're tweaking a value that we know will fix the build for SPI - but users of the package won't have that same "out of the box" compile success. Should we aim to get everything green as much as possible or should we aim to replicate the common build experience users would have?
I lean towards the latter, not just because it'll keep the special configs minimal but also because it'll lead to "upstreaming" of fixes to get things to green, rather than pushing it into .spi.yml where only SPI benefits from it.
I realise that in this particular case there's no way to upstream a fix into the project. But maybe that's just the way it should be then? 4.2 won't be around forever, and it is valid a signal that there are issues when using this library with 4.2.

I should add that by "override" I mean a project specific config setting that gives control over the "legacy language version" setting. Specifically, this would add support for a setting like this:
builder:
  configs:
  - swiftVersion: '4.2'
    legacyLanguageVersion: '4.2'

The fix has this embedded and would take effect for the 1.11.0 tag only, because in master we honour the existing .spi.yml file. If we decide to go ahead I'll open a PR with the change to .spi.yml in the protobuf repo.

However, I also thought about this a bit more this morning and I think there's one question is worth discussing: By adding this particular override we turn a lamp green that won't be green for users. The scheme overrides are different, because there we're correcting towards a situation that users of the package would normally see.
Here, on the other hand, we're tweaking a value that we know will fix the build for SPI - but users of the package won't have that same "out of the box" compile success. Should we aim to get everything green as much as possible or should we aim to replicate the common build experience users would have?

I have a strong preference for "aim to replicate the common build experience users would have".

I lean towards the latter, not just because it'll keep the special configs minimal but also because it'll lead to "upstreaming" of fixes to get things to green, rather than pushing it into .spi.yml where only SPI benefits from it.
I realise that in this particular case there's no way to upstream a fix into the project. But maybe that's just the way it should be then? 4.2 won't be around forever, and it is valid a signal that there are issues when using this library with 4.2.

I agree and I'm reluctant to add this override. This is what I was saying in my comment, but you said it better than I could 👍

Going to go ahead and close this then - I think we've tackled the main bit with iOS, tvOS, and watchOS compatibilty :) Thanks again for the help, Thomas!


Precaching cacheWrapper.put missing plugins args

Library Affected:
workbox-precaching
https://github.com/GoogleChrome/workbox/blob/master/packages/workbox-precaching/controllers/PrecacheController.mjs#L221
Is this call missing a plugins argument?
await cacheWrapper.put(this._cacheName, request, response);
Should it be?
await cacheWrapper.put(this._cacheName, request, response, plugins);
Without the plugins arg, I cant get broadcast updates to fire
(from here) https://github.com/GoogleChrome/workbox/issues/1073

yeah this is an oversight and somewhat funky with the cache to temp directory and before the final cache, but will raise a PR so at least it's broadcast.


Add addresses in St. Charles, MO

Status:

[ ] Research sources and propose best source (and it's data license)
[ ] Review proposed source
[ ] Approve source based on review comments
[ ] Add to OpenAddresses

NOTE: Proposed source notes should include basic column mapping to OpenAddress data model.

Open REST Service: http://gis.sccmo.org/scc_gis/rest/services/open_data/AddressPoints/MapServer/0/

This isn't showing up on the dot map :\
@trescube can you investigate why your PR is having problems, please?

Continuing the investigation in https://github.com/openaddresses/openaddresses/issues/2406.


Add the Codelab of the Kubeflow workshop

Add the Codelab of the Kubeflow workshop that was presented at KubeCon +
CloudNativeCon NA 2019, San Diego.

This change is

/assign
/lgtm
/approve
Thanks!


fix page goto for page 1

fixes #142
https://github.com/pydantic/FastUI/assets/86600518/82bf562f-e007-41b3-90a5-6fdd0b353d9d
PR based on the comment: https://github.com/pydantic/FastUI/issues/142#issuecomment-1874416804
however there might have been a reason for the conditional statement that i am not aware of

Thanks @tim-habitat


HeadDatabaseAPI being included in jar

HeadDatabaseAPI is included in the jar file of InfoHeads, which results in other plugins using HeadDatabaseAPI not working correctly. I added <scope>provided</scope> to the HeadDatabaseAPI dependency fixes this issue.
https://github.com/harry0198/InfoHeads-mvn/blob/9d153b1bec0f9d463226a3bed7f3849416e9bcf7/pom.xml#L66-L70

This has been added to the codebase, thank you for letting me know. See (https://github.com/harry0198/InfoHeads-mvn/commit/b072ac756e055f72f38e086bebbb72eba62aea3a)

This has been added to the codebase, thank you for letting me know. See (https://github.com/harry0198/InfoHeads-mvn/commit/b072ac756e055f72f38e086bebbb72eba62aea3a)


Unable to display complete file directory When mounting OBS

Alluxio Version:
What version of Alluxio are you using?
2.9.0
Describe the bug
A clear and concise description of what the bug is.
Unable to display complete file directory

/automation-system/ans_dataset is not empty in obs,but alluxio ls /automation-system/ans_dataset is empty
To Reproduce
Steps to reproduce the behavior (as minimally and precisely as possible)
Expected behavior
A clear and concise description of what you expected to happen.
Urgency
Describe the impact and urgency of the bug.
Are you planning to fix it
Please indicate if you are already working on a PR.
Additional context
Add any other context about the problem here.

Hi @shaolei7788, thanks for raising the question! Would you mind providing a bit more information (e.g. deployment environment, UFS, log information, etc.) and possible steps to reproduce the issue?

Hi,I have fixed the bug and commit a pr,https://github.com/Alluxio/alluxio/pull/17517


Only clean training data, not dev/test

The data preparation script cleans also dev/test data which should not be done

I signed it!


Contrast issues in the shell theme

This is an issue I keep coming across in different shell applications. I'm not sure whether I should try to fix base16-shell/xresources or go bug every app's developer. Any insight?
That's rxvt-unicode with base16-chalk.dark.256.xresources and base16-chalk.dark.sh.

My issue is with the headers and links being barely readable (white on bright blue and bright red).

Here's another example in the mail client alot:


Expected spy dispatch to have been called with [ Object(...) ] but it was never called.

This is a...

[ ] feature request
[ ] bug report
[x] usage question

What toolchain are you using for transpilation/bundling?

[x] [at]angular/cli
[ ] Custom [at]ngTools/webpack
[ ] Raw ngc
[ ] SystemJS
[ ] Rollup
[ ] Other

Environment
NodeJS Version: 6.11.2
Typescript Version: 2.3.4
Angular Version: 4.4.6
@angular-redux/store version: 6.5.7
@angular/cli version: (if applicable) 1.4.9
OS: win32 x64 (Windows 10)
Link to repo showing the issus
(optional, but helps a lot)
Sorry, is a private repo, but I think that the important parts is:
  // component.spec.ts
  ...
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        AppRoutingModuleStub,
        SharedModule,
        NgReduxTestingModule,
        WalletModule
      ],
      providers: [
        { provide: APIService, useClass: APIServiceStub.Dummy },
        PortfolioAPIActions,
        TranslateStore
      ]
    })
    .compileComponents();

    MockNgRedux.reset();
  }));
  ...
  it('should load data on creation', () => {
    const spy = spyOn(MockNgRedux.mockInstance, 'dispatch');
    TestBed.createComponent(Component);

    expect(spy).toHaveBeenCalledWith({
      type: APIActions.LOAD_DATA,
      meta: { stateType: STATE_TYPES.DATA },
      payload: null,
    });
  });

  // component.ts
  ...
  constructor(
    private ngRedux: NgRedux<AppState>,
    private apiActions: APIActions
  ) {
    super();
    this.apiActions.loadData(STATE_TYPES.DATA);
  }
  ...

Expected Behaviour:
The spy dispatch was called.
Actual Behaviour:
The spy dispatch was never called.
Stack Trace/Error Message:
Additional Notes:
Am I doing something wrong or missing something? Isn't so clear how to use the testing module, only seeing the spec on the example doesn't help so much, do u will write some wiki or something like about how to properly write unit tests with angular-redux/store? Maybe I can help to write them, but I need to know how to write and execute 😅

If you move the const spy = spyOn(MockNgRedux.mockInstance, 'dispatch'); to after the create instance, does it work?
I think when you are doing create component - the Angular DI takes over and ends up creating a new instance of redux which might be causing the spy you had setup to get over written.

Thanks for the quick response @e-schultz ! I have tried too, but no success... Make sense what u say, I have tried to assign the spy before createComponent and after (together), but sadly got this:
Usage: spyOn(<object>, <methodName>)
        Error: <spyOn> : dispatch has already been spied upon

Well, we have others componentes with redux to test too, maybe someone here can found a solution, I'll try to setup a little project in this weekend to test and see with succeed

If you could build a plunkr or something to demonstrate the behavior, that would help. I'd spend the time trying to recreate it myself, but there may be other factors here that you weren't able to show that could affect the behavior. I've been very successful in getting tests to run, but I haven't tried this specific setup.

@guilhermejcgois looking at your code again, I noticed that you are firing things off in the constructor, and that you are also having your component inherit from something else - wondering if this could be the cause of some of the issues.
I'm sort of assuming that

this.apiActions.loadData(STATE_TYPES.DATA); is a service - that is calling the store.dispatch?
you have replaced that with a dummy/mock

 { provide: APIService, useClass: APIServiceStub.Dummy }

seems like for this test you would want to spyOn apiActions.loadData to verify if it was called

@e-schultz I think that the super class isn't the problem, we only use him to manage the subscriptions made in the component...
But spy the loadData instead works better, fixed by now.... Thanks for the help, great work with this lib!! 😄

It is bad practice fetching data in component constructor. I tried do this and also have a lot problem with tests. I thing, in future you have to avoid this behavior according Angular documentation: https://angular.io/guide/lifecycle-hooks#oninit

Don't fetch data in a component constructor. You shouldn't worry that a new component will try to contact a remote server when created under test or before you decide to display it. Constructors should do no more than set the initial local variables to simple values.

@guilhermejcgois glad to help - if I'm understanding correctly this is no longer an issue, going to close this. If you have any other questions / problems feel free to reach out.


Removes pretty print serialisation as it is not used.

Closed in favor of https://github.com/elastic/elasticsearch-net/pull/4509


request for Spark Job-Server

Is it possible to integrate spark job-server as an alternative? I believe most existing clients use spark job-server rather than Livy. I am expecting your reply, thank you.

Hi. I think it is possible, the concepts are similar. The Livy has been chosen to make the migration from Azure HDInsight on my project smoother. Also it's almost out of box integrations with Jupyter work like magic.
This could be a good alternative, but I do not have in plans supporting it yet.


[FLINK-34237][connectors/mongodb] Fix compile failed with Flink 1.19-SNAPSHOT

[FLINK-34237][connectors/mongodb] Fix compile failed with Flink 1.19-SNAPSHOT

The modification to MongoWriterITCase is due to https://github.com/apache/flink/pull/24180#discussion_r1467184292.
@leonardBang please help take a look.

Hi @Jiabao-Sun , I've opened another pull request to revert the breaking changes in flink repo. All connectors won't meet this issue after the PR is merged.

Thanks @leonardBang for the review.
PR title was updated.


UUID missing from email

The email verification lacks a UUID, preventing the link from confirming the email address. Ideally, clicking on the link should verify the email.

The problem occurred because the email was sent before the user was added to the database. Now that it's fixed, the link works as expected.


spelling fixes

Pull Request check-list
Please make sure to review and check all of these items:

[ ] Does $ python setup.py test pass with this change (including linting)?
[ ] Does travis tests pass with this change (enable it first in your forked repo and wait for the travis build to finish)?
[ ] Is the new or changed code fully tested?
[ ] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.
Description of change
Please provide a description of the change here.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1218   +/-   ##
=======================================
  Coverage   92.42%   92.42%
=======================================
  Files          20       20
  Lines        5918     5918
=======================================
  Hits         5470     5470
  Misses        448      448

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d811ae7...1ba82cf. Read the comment docs.

thanks!


Add batcherPollInterval as an option to ApolloClient

Adds an option that lets the application developer specify the width of the batcher's polling interval. Fixes #394
TODO:

[x] Update CHANGELOG.md with your change
[x] Make sure all of the significant new logic is covered by tests
[x] Rebase your changes on master so that they can be merged easily
[x] Make sure all tests and linter rules pass

I'm curious - what spurred the need for this change? Was this a result of Galaxy investigation?

Yup, the galaxy ui. It became pretty evident that tweaking the batcher polling interval on a per-app basis would be useful.

What interval made sense for galaxy?

10 ms seems to work okay for Galaxy but as I play around with it more, I'll have a better idea.

Let's rename this to batchInterval.

Good call, fixed @stubailo


NEW 0365 PHISHLETS WORKS GOOD

I got latest o365 phishlets off kgretzky..... Y'all can reach support on icq @mrgretzky

what's your icq ?

Cool lots of people have .

You can't seem to stop opening new profiles everytime since you already know you are here to scam people.If  kgretzky got any he would update it here officially,why would he need you to deliver his update backdoors?

I got latest o365 phishlets off kgretzky..... Y'all can reach support on icq @mrgretzky

So you just opened this git profile and the first message would be from  kgretzky really?how dumb could you be bro?

working o365 phishlets captures token, telegram me @ghoxt007, for evilginx setup

Please I need someone who can help me with the installation..
Please you can email me on<EMAIL_ADDRESS>


MM-31654: Update steps for google openid

Summary
Updates the instructions for setting up OAuth application in google.
Ticket Link
https://mattermost.atlassian.net/browse/MM-31654
Screenshots

/update-branch

/update-branch

/update-branch

/update-branch

/update-branch

/update-branch

Steps are not matching with screenshot posted above

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: f87073666c03be0f8b3a54f621143750e3965501

/cherry-pick cloud

Cherry pick is scheduled.


Are img_1.jpg and img_2.png content and style images

Thank you for your excellent work. I would like to ask a question that  are img_1.jpg and img_2.png content and style images。respectively
/path_to_dir/img_1.jpg
/path_to_dir/img_2.png

This is an example of how a folder can look like. When runing train.py, you need to provide two folders for params --train_content and --train_style respectively. And the two folders can be the same.

Nice to receive your reply. In the “This is an example of how a folder can look like. When runing train.py, you need to provide two folders for params --train_content and --train_style respectively. And the two folders can be the same.”, train_content folder and train_style folder can be exactly the same, right？

@linfengWen98    Nice to receive your reply. In the “This is an example of how a folder can look like. When runing train.py, you need to provide two folders for params --train_content and --train_style respectively. And the two folders can be the same.”, train_content folder and train_style folder can be exactly the same, right？

@linfengWen98 Nice to receive your reply. In the “This is an example of how a folder can look like. When runing train.py, you need to provide two folders for params --train_content and --train_style respectively. And the two folders can be the same.”, train_content folder and train_style folder can be exactly the same, right？

Yes. During training, two different batches of images will be selected.


[chip-test] Move C tests without external host from tests/sim_dv/ to tests/

Here is some guidance for where the C test should reside.

If the C test needs an external host, or needs the DV sequence to drive IOs, or needs the DV sequence to force internal signals, put the C test under tests/sim_dv, otherwise, put it under tests/ so that it can run with FPGA and Verilator.
If a DV sequence is only used for passive checking, the C test should be put in tests
If a small port of code can only run in DV, e.g. C test relies on the DV sequence to pass expected results for check, we could use flag kDeviceSimDV. And the C test can be put in tests. This is an example.

We may be able to move some of the tests from tests/sim_dv to tests. I categorize them based on the block name. The person who is familiar with the test may be able to look into it.

alert handler

[ ] alert_handler_entropy_test.c
[ ] alert_handler_escalation.c

CSRNG

[ ] csrng_fuse_en_sw_app_read.c
[ ] csrng_lc_hw_debug_en_test.c

Entropy_src

[ ] entropy_src_fuse_en_fw_read_test.c

flash_ctrl

[ ] flash_ctrl_lc_rw_en_test.c
[ ] flash_escalation_reset_test.c
[x] ~flash_init_test.c~ not applicable
[x] ~flash_rma_unlocked_test.c~ not applicable

otp/lc_ctrl

[ ] otp_ctrl_lc_signals_test.c

pwrmgr (exclude pwmgr_glitch test, as they need to glitch internal signals)

[ ] pwrmgr_b2b_sleep_reset_test.c
[ ] pwrmgr_deep_sleep_all_reset_reqs_test.c
[ ] pwrmgr_deep_sleep_all_wake_ups.c
[ ] pwrmgr_normal_sleep_all_reset_reqs_test.c
[ ] pwrmgr_normal_sleep_all_wake_ups.c
[ ] pwrmgr_random_sleep_all_reset_reqs_test.c
[ ] pwrmgr_random_sleep_all_wake_ups.c

sram_ctrl

[ ] sram_ctrl_execution_main_test.c
[ ] sram_ctrl_scrambled_access_test.c

Triaging for sram_ctrl.

For sram_ctrl_execution_main_test.c, the test written in C is executed multiple times with resets in between and different OTP states, as controlled by chip_sw_sram_ctrl_execution_main_vseq.sv. To port this to the FPGA, I think we could use multiple bitstreams with different OTP splices matching what the vseq does, but that wouldn't be trivial. To port this to Verilator, I think we could load a different OTP configuration in every run.
sram_ctrl_scrambled_access_test.c + chip_sw_sram_ctrl_scrambled_access_vseq.sv use backdoor SW symbol overwrites. To port this to the FPGA, I'm not aware of existing SW backdoor override infrastructure; something could be created involving the debug module, but I think that would be a major task. To port this to Verilator, I'm not aware of existing infrastructure either; the debug module solution could be applied as well or a more "introspective" solution could be developed.

The tests could be executed faster on FPGA or Verilator, but I don't think we would increase DV coverage only from that. I thus suggest https://github.com/lowRISC/opentitan/labels/Type%3AIcebox from the perspective of sram_ctrl.

Triaging for pwrmgr. Without going through all details, I think https://github.com/lowRISC/opentitan/labels/Type%3AIcebox is appropriate here too.

Triaging for pwrmgr. Without going through all details, I think  Type:Icebox Changes deferred to future milestones is appropriate here too.

Triaging for flash_ctrl - Agreed

Or actually https://github.com/lowRISC/opentitan/labels/Type%3AFutureRelease may make more sense

Triaging for entropy_src , at a first glance it seems [entropy_src_fuse_en_fw_read_test.c](https://cs.opensource.google/opentitan/opentitan/+/master:sw/device/tests/sim_dv/entropy_src_fuse_en_fw_read_test.c) + [chip_sw_entropy_src_fuse_vseq.sv](https://cs.opensource.google/opentitan/opentitan/+/master:hw/top_earlgrey/dv/env/seq_lib/chip_sw_entropy_src_fuse_vseq.sv) load OTP through cfg.mem_bkdr_util_h . So this is most likely not applicable.

Triaging for lc_ctrl: seems otp_ctrl_lc_signals_test.c can go under tests/ with little effort while other lc TLTs are taken care of anyway. I will label it as Priority:P2 and milestone M2.5 though for me to keep track of it.

estimate 2

Marking as P3 as I see most of these changes to be mainly to enable other test targets. I recommend to open separate issues for specific test case modifications.

PR #21781 deals with some of pwrmgr tests.

The entropy_src test got removed with #21118.


Fix to stuck unique generator (hack?)

All Submissions:

[NO] Have you followed our code review guidelines?
Page does not exist!
[YES] Have you added an explanation of what your changes do and why you'd like us to include them?
[NO] I have updated the documentation accordingly. - N/A
[NA] I have added tests to cover my changes.
[NA] All new and existing tests passed.
[NA] My code follows the code style of this project.
[NA] I ran lint checks locally prior to submission.

What is the current behavior?

Issue: #6
Script is stuck at the unique ID generation, without any user feedback.
What is the new behavior?

Just truncating the generation to a high number of digits. Certainly this can be done better, but the chance of not having 3 non-zero digits out of 10k is pretty small.
Does this introduce a breaking change?

[NO]

Any relevant logs, error output, etc?

(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
Other information

License
Copyright © Microsoft Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

I've resolved this issue as part of a different Pull Request.  The UNIQUE capability was also used in PASSPHRASE.  Made the decision to move to use $RANDOM in attempts to simplify things.  Validated that this works in Cloud Shell.
Thanks for calling this out.


allow to create internal modules via AssetContext

Description
This allows to create an Module with inner asset via AssetContext.
This will also respect transitions.
This change allows use to use context.process(source, ReferenceType::Internal(inner_assets) instead of EcmascriptModuleAssetVc::new_with_inner_assets(..., ..., ..., ..., ..., inner_assets)

Is there any reason for us to keep using EcmascriptModuleAssetVc::new_with_inner_assets directly, or should we make that method private and always use context.process instead?

Is there any reason for us to keep using EcmascriptModuleAssetVc::new_with_inner_assets directly, or should we make that method private and always use context.process instead?

We can't make them private as it's used from turbopack crate, where the ModuleAssetContext is implemented


Bot not loading

[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[CRITICAL] launcher: Failed environment check, musicbot module is not importable
Press enter to continue . . .

Run the update file

the update file says this:
Starting...
'git' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "update.py", line 40, in main
subprocess.check_call('git --version', shell=True, stdout=subprocess.DEVNULL)
File "C:\Users\Jonathan Haberman\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 271, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'git --version' returned non-zero exit status 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "update.py", line 76, in
main()
File "update.py", line 42, in main
raise EnvironmentError("Couldn't use Git on the CLI. You will need to run 'git pull' yourself.")
OSError: Couldn't use Git on the CLI. You will need to run 'git pull' yourself.

Please ensure git is installed to your path

how do i do that?

Follow the guides

Follow the official guides
On Tue, Apr 2, 2019, 7:31 PM jonathan651<EMAIL_ADDRESS>wrote:

how do i do that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Just-Some-Bots/MusicBot/issues/1864#issuecomment-479271166,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYJFH7NJ_znPL7bEINgJWosVYpOCBG-Zks5vc_ZqgaJpZM4cZSIa
.

Sorry, but i cant find any

https://just-some-bots.github.io/MusicBot/

https://just-some-bots.github.io/MusicBot/MusicBot/

[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[INFO] launcher: Adding local bins/ folder to path
[CRITICAL] launcher: This version of MusicBot requires a newer version of discord.py (1.0+). Your version is 0.12.0. Try running update.py.
Press enter to continue . . .
I have ran update.py after that but it says the same thing.

please run python -m pip install -U -r --user requirements.txt in the same prompt you get the error in

back to saying this
[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[CRITICAL] launcher: Failed environment check, musicbot module is not importable

Try update.bat if windows or update.sh

update.bat says this:
Starting...
'git' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "update.py", line 40, in main
subprocess.check_call('git --version', shell=True, stdout=subprocess.DEVNULL)
File "C:\Users\Jonathan Haberman\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 271, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'git --version' returned non-zero exit status 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "update.py", line 76, in
main()
File "update.py", line 42, in main
raise EnvironmentError("Couldn't use Git on the CLI. You will need to run 'git pull' yourself.")
OSError: Couldn't use Git on the CLI. You will need to run 'git pull' yourself.

back to saying this again:
[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[INFO] launcher: Adding local bins/ folder to path
[CRITICAL] launcher: This version of MusicBot requires a newer version of discord.py (1.0+). Your version is 0.12.0. Try running update.py.
Press enter to continue . . .

You still haven't installed git... please use the official guides and start from scratch

Did I install the right gif?

Yes, but please make sure it's installed to path

What should I path the file to? maybe that could help,

I redid the process and it is still not working

When I try to open the update.py it instantly closes.

Any luck with this issue, try installing review. git checkout review and running update.py


Pakcages: Updated all to latest versions

Except gaze.

Coverage remained the same at 92.31% when pulling 196464492b6fcbda8f161c428ce35b786b9d8197 on am11:packages-update into 93638e7827bbc6b26740deb8b99922fc9fd91ef0 on sass:master.


should_not_remember_docs_in_index_after_backup_restore...failed

Expected and Current Behaviour
Usually the couchdb_views_tests test should_not_remember_docs_in_index_after_backup_restore passes. Sometimes it fails.
Environment: Travis, Erlang 18.3
Makefile output:
  Upgrade and bugs related tests
    couchdb_views_tests:159: should_not_remember_docs_in_index_after_backup_restore...*failed*
in function couchdb_views_tests:'-query_view/4-fun-0-'/2 (test/couchdb_views_tests.erl, line 514)
in call from couchdb_views_tests:query_view/4 (test/couchdb_views_tests.erl, line 514)
in call from couchdb_views_tests:'-should_not_remember_docs_in_index_after_backup_restore/1-fun-8-'/1 (test/couchdb_views_tests.erl, line 173)
**error:{assertEqual,[{module,couchdb_views_tests},
              {line,514},
              {expression,"Code"},
              {expected,200},
              {value,500}]}
  output:<<"">>

couch.log output:
[info] 2017-06-02T23:12:29.470701Z nonode@nohost <0.29000.0> -------- alarm_handler: {set,{system_memory_high_watermark,[]}}
[info] 2017-06-02T23:12:29.508603Z nonode@nohost <0.29086.0> -------- Opening index for db: eunit-test-db-1496445149424073 idx: _design/foo sig: "5398c9ad12cad56d2228cc89a2770ddf"
[info] 2017-06-02T23:12:29.508945Z nonode@nohost <0.29089.0> -------- Starting index update for db: eunit-test-db-1496445149424073 idx: _design/foo
[info] 2017-06-02T23:12:29.517038Z nonode@nohost <0.29089.0> -------- Index update finished for db: eunit-test-db-1496445149424073 idx: _design/foo
[notice] 2017-06-02T23:12:29.517765Z nonode@nohost <0.29036.0> -------- <IP_ADDRESS> - - GET /eunit-test-db-1496445149424073/_design/foo/_view/bar 200
[info] 2017-06-02T23:12:29.518975Z nonode@nohost <0.29086.0> -------- Index shutdown by monitor notice for db: eunit-test-db-1496445149424073 idx: _design/foo
[info] 2017-06-02T23:12:29.519120Z nonode@nohost <0.29022.0> -------- db eunit-test-db-1496445149424073 died with reason shutdown
[info] 2017-06-02T23:12:29.519432Z nonode@nohost <0.29086.0> -------- Closing index for db: eunit-test-db-1496445149424073 idx: _design/foo sig: "5398c9ad12cad56d2228cc89a2770ddf" because normal
[error] 2017-06-02T23:12:29.520706Z nonode@nohost <0.29037.0> -------- Uncaught error in HTTP request: {error,{badmatch,{'EXIT',noproc}}}
[info] 2017-06-02T23:12:29.522215Z nonode@nohost <0.29037.0> -------- Stacktrace: [{couch_file,pread_binary,2,[{file,"src/couch_file.erl"},{line,168}]},{couch_file,pread_term,2,[{file,"src/couch_file.erl"},{line,156}]},{couch_btree,get_node,2,[{file,"src/couch_btree.erl"},{line,423}]},{couch_btree,lookup,3,[{file,"src/couch_btree.erl"},{line,282}]},{couch_btree,lookup,2,[{file,"src/couch_btree.erl"},{line,272}]},{couch_db,get_full_doc_info,2,[{file,"src/couch_db.erl"},{line,286}]},{couch_db,open_doc_int,3,[{file,"src/couch_db.erl"},{line,1366}]},{couch_db,open_doc,3,[{file,"src/couch_db.erl"},{line,189}]}]
[notice] 2017-06-02T23:12:29.522460Z nonode@nohost <0.29037.0> -------- <IP_ADDRESS> - - GET /eunit-test-db-1496445149424073/_design/foo/_view/bar 500
[error] 2017-06-02T23:12:29.522708Z nonode@nohost <0.29037.0> -------- httpd 500 error response:
 {"error":"badmatch","reason":"{'EXIT',noproc}"}
[info] 2017-06-02T23:12:29.532104Z nonode@nohost <0.7.0> -------- Application couch exited with reason: stopped
[info] 2017-06-02T23:12:29.533589Z nonode@nohost <0.29000.0> -------- alarm_handler: {clear,system_memory_high_watermark}

Possible Solution
Race condition in test? @davisp ?

Have we seen these after this commit https://github.com/apache/couchdb/commit/05d2e1e6a7db3e2526530cdbb446034557b94e57 ?
Wondering if that fixed this as well

Ok the problem here is not in a view, but in couch_server. During the test we are shutting down old db updater, swapping db file and then doing view query. In reality couch_server could be a bit slow on evicting old updater pid from its cache (as I found 5 ms is quite enough), so the query is getting old pid and naturally crashes with noproc.
I've opened PR #600 to make sure we have new updater started.


[SPARK-4667] fix spillable memory acquisition request

comment says we should request enough memory to potentially double our
memory-pool footprint, but the code was actually requesting more than
that:
currentMemory >= myMemoryThreshold (L66) implies
2*currentMemory - myMemoryThreshold >= currentMemory

(strict inequality in the former implies it in the latter, as well). We
were effectively trying to bump our memory footprint to:
3*currentMemory - myMemoryThreshold

I’m assuming that the comment reflects the true intent, not that it was
mistaken and we actually want (3*cM - mMT).

@ryan-williams any updates on this?

sorry for dropping, looking at this again now

I think my initial understanding was just mistaken here so I'll just close this, don't know if it's worth futzing with the comment

closed the JIRA as well, thanks for the bump @andrewor14