[HELP] 0.3.2 pre-release for public testing

Background
v0.3.2 was a minor release scheduled to be released months ago, but now it's a complete rewrite mainly for two reasons:

decoupling(see #570 for details)

Java client is async and lightweight
JDBC driver is built on top of Java client

switching data format to RowBinary to fix issues and improve performance

Expand to see benchmark results...

clickhouse-grpc-jdbc and clickhouse-http-jdbc are new JDBC driver(0.3.2) using RowBinary data format
clickhouse-jdbc is the old JDBC driver(0.3.1-patch) based on TabSeparated
clickhouse-native-jdbc is ClickHouse-Native-JDBC 2.6.0
Benchmark settings: thread=1, sampleSize=100000, fetchSize=10000, mode=throughput(ops/s).

Note: in general the new driver consumes less memory and CPU, will post diagrams next time.

0.3.2-test1 and 0.3.2-test2 are pre-release for public testing.
Downloads
Maven dependency:
<dependency>
    <!-- will stop using group id "ru.yandex.clickhouse" starting from 0.4.0  -->
    <groupId>com.clickhouse</groupId>
    <!-- or clickhouse-grpc-client to use gRPC client  -->
    <artifactId>clickhouse-http-client</artifactId>
    <version>0.3.2-test2</version>
</dependency>

To download JDBC drivers:

Package
Size
Legacy
New
HTTP
gRPC
Remark

clickhouse-jdbc-0.3.2-all.jar
18.5MB
Y
Y
Y
Y
Both old and new JDBC drivers(besides netty, okhttp is included as well)

clickhouse-jdbc-0.3.2-http.jar
717KB
N
Y
Y
N
New JDBC driver with only http support

clickhouse-jdbc-0.3.2-grpc.jar
17.3MB
N
Y
N
Y
New JDBC driver with only grpc support(only netty, okhttp is excluded)

clickhouse-jdbc-0.3.2-shaded.jar
2.76MB
Y
Y
Y
N
Both old and new JDBC drivers

Note: the first two are recommended. grpc is experimental so you'd better use http.
Known Issues

java.io.IOException: HTTP/1.1 header parser received no bytes - either increase keep_alive_timeout to a value greater than 1200(why?), or run zip -d <jdbc.jar> "META-INF/version*" to fallback HttpURLConnection, which is a bit slower but more stable
RESOURCE_EXHAUSTED: Compressed gRPC message exceeds maximum size - increase max_inbound_message_size to resolve
select 1 format JSON works in http but not grpc, because grpc client is not aware of response format
insert into table values(?, ?) is slow in batch mode - try insert into table select c2,c3 from input('c1 String, c2 UInt8, c3 Nullable(UInt32)') instead
use_time_zone and use_server_time_zone_for_dates properties do not work
no table/index show up under jdbc(*) database
roaringbitmap is not included in the shaded jar

Key Changes

Java client and JDBC driver are now in different modules, along with JPMS support
Replaced data format from TabSeparated to RowBinary
Support more data types including Date32, Geo types, and mixed use of nested types
JDBC connection URL now supports abbrebation, protocol and optional port

jdbc:ch://localhost is same as jdbc:clickhouse:http://localhost:8123
jdbc:ch:grpc://localhost/db is same as jdbc:clickhouse:grpc://localhost:9100/db

New JDBC driver class is com.clickhouse.jdbc.ClickHouseDriver(will remove ru.yandex.clickhouse.ClickHouseDriver starting from 0.4.0)
JDBC connection properties are simplified

use custom_http_headers and custom_http_params for customization - won't work for grpc client
jdbc_compliant(defaults to true) to support fake transaction and standard synchronous UPDATE and DELETE statements

Some more details can be found at #736 and #747.

Hello, @zhicwu
I tried a new driver in Intellij DataGrip and noticed that the DateTime format is different from that in version 0.3.1.

SELECT now()
0.3.1-patch - 2021-12-01 19:27:12
0.3.2-test1 - 2021-12-01T19:27:12

SELECT now('Europe/Paris')
0.3.1-patch - 2021-12-01 17:27:15
0.3.2-test1 - 2021-12-01T17:27:15+01:00

Hello, @zhicwu I tried a new driver in Intellij DataGrip and noticed that the DateTime format is different from that in version 0.3.1.

SELECT now()
0.3.1-patch - 2021-12-01 19:27:12
0.3.2-test1 - 2021-12-01T19:27:12
SELECT now('Europe/Paris')
0.3.1-patch - 2021-12-01 17:27:15
0.3.2-test1 - 2021-12-01T17:27:15+01:00

Thank you for testing the new driver and reporting the issue here. I'll try to get it fixed in next build. Actually I like the way DBeaver handle LocalDateTime and especially OffsetDateTime:

This is one of the crucial parts of the usage:

Are clients simply calling getString?
Are clients calling different methods depending on the type of the column reported? If so, which methods do they use?

getObject(int)
getObject(int, Class<?> -- which class?
getTime(int)
getDate(int)
getTimestamp(int)

This is one of the crucial parts of the usage:

Are clients simply calling getString?

Are clients calling different methods depending on the type of the column reported? If so, which methods do they use?

getObject(int)
getObject(int, Class<?> -- which class?
getTime(int)
getDate(int)
getTimestamp(int)

Looks like a combination of getObject() and then convert LocalDateTime(timestamp without time zone)/OffsetDateTime(timestamp with time zone) to string. DBeaver on the other hand has a display issue - submitted dbeaver/dbeaver#14772 to track status.

It seems that the Java client is currently relying on thread pools underneath to implement its async API, I mean, instead of being fully async at its core. Is it tenative or intended?
Also if I make a request to a node and try to make another request w/ the same client to a different node, then depending on the timing, the former call may fail since the second request may close the underlying connection too early. In that regard, I'm not sure what's the intended usage pattern of the Java client API.
For instance, if I want to make a few requests to ClickHouse in the context of an incoming HTTP call, then what should I be supposed to reuse across calls?

Thanks @dynaxis, these are all good points.

It seems that the Java client is currently relying on thread pools underneath to implement its async API, I mean, instead of being fully async at its core. Is it tentative or intended?

Unfortunately this is intended, because JDBC driver is built on top of the client, meaning we prefer least dependency and we still need to support JDK 8. I hope we can find somewhere in the middle - a compact lib to serve very basic functions for both JDBC and R2DBC drivers.

For instance, if I want to make a few requests to ClickHouse in the context of an incoming HTTP call, then what am I supposed to reuse across the requests to a ClickHouse node? ClickHouseClient? ClickHouseRequest?

Yes, you can reuse ClickHouseRequest. Each time you call its execute()/send() method, it will create a sealed copy for the execution, which is similar as copy-on-write data structure for thread safety. On the other, ClickHouseClient is responsible for handling protocol-specific details like how to execute a request and get response. Taking http as an example, depending on whether the concrete http connection(e.g. HttpURLConnection) is reusable, it may suggest to create new connection for each request or simply reuse the same one.

Building the current master version using mvn install leads to ca. 6 failures. Will investigate further.
Throwing Exceptions in setAutocommit(false) breaks the Metabase driver. However, I understand that we we would like to inform the client early on that we do not support transactions. I will see what I can do about it.

Building the current master version using mvn install leads to ca. 6 failures. Will investigate further.
Throwing Exceptions in setAutocommit(false) breaks the Metabase driver. However, I understand that we we would like to inform the client early on that we do not support transactions. I will see what I can do about it.

Did you mean the version on master branch? We should test the one on develop branch and fake transaction should work.

DatabaseMetaData behavior is a breaking. Perhaps the new behavior is "more correct", but it is a change users need to be aware of. Compare results of this program:
    public static void main(String[] args) throws Exception {
        String url = "jdbc:clickhouse://localhost:8123/default";
        ClickHouseDataSource dataSource = new ClickHouseDataSource(url);
        try (ClickHouseConnection conn = dataSource.getConnection()) {
            DatabaseMetaData meta = conn.getMetaData();
            ResultSet rs = meta.getTables("foo", null, "%", new String[] {"TABLE", "VIEW", "FOREIGN TABLE", "MATERIALZED VIEW"});
            ResultSetMetaData rsMeta = rs.getMetaData();
            while (rs.next()) {
                for (int i = 0; i < rsMeta.getColumnCount(); i++) {
                    System.out.println(rsMeta.getColumnName(i+1) + ": " + rs.getString(i+1));
                }
            }
        }
    }

I'm not sure this is the right place to comment on the current pre-release. Anyway, how about making ClickHouseRequest.getClient() public? I'm injecting a ClickHouseRequest to every invocation of HTTP request handlers and it's cumbersome to pass ClickHouseClient around together w/ it.

DatabaseMetaData behavior is a breaking. Perhaps the new behavior is "more correct", but it is a change users need to be aware of. Compare results of this program:

Yes, I added some missing parts and made changes as well to make the driver more JDBC-compliant.
I'll try to emphasize the change in release notes - all in all, 0.3.2 is not a drop-in replacement of previous version, despite its version(just trying to stick with the roadmap).
Apart from that, as you may notice, more table types were added. I was kind of hoping DBeaver can support that like in SQuirrel SQL(see dbeaver/dbeaver#14773 ).

I'm not sure this is the right place to comment on the current pre-release. Anyway, how about making ClickHouseRequest.getClient() public? I'm injecting a ClickHouseRequest to every invocation of HTTP request handlers and it's cumbersome to pass ClickHouseClient around together w/ it.

Yes it's the right place and thanks for the feedback.

how about making ClickHouseRequest.getClient() public?

I thought about this a few times as well. In the very beginning, there's a Context object as glue to connect almost everything(client, config, request and response), and then later I removed it as it became too heavy and complex. Later I made request.getClient public for convenience, and then I reverted the change as combination of copy and execute() / send() methods are sufficient enough to my problems.
What's your case of making the method public? If it's about issuing more queries, you can try something like baseRequest.copy().query("sql").execute()?

@zhicwu I hope to create and close a client around every call to a method where actual queries are performed. That is, the reference is required to close the client as a clean up.
My intention is to pick a new ClickHouse node for every incoming request, for the purpose of load balancing, where possibly multiple queries are performed.

Building, Testing
Thanks @zhicwu for helping me to get the compile / tests running again. For reference:

Remove any generated sources in clickhouse-jdbc directory.
Create a ~/.m2/toolchains.xml like this

<toolchains>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>11</version>
    </provides>
    <configuration>
      <jdkHome>/usr/lib/jvm/java-11-openjdk</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>8</version>
    </provides>
    <configuration>
      <jdkHome>/usr/lib/jvm/java-8-jdk</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
    </provides>
    <configuration>
      <jdkHome>/usr/lib/jvm/java-17-openjdk</jdkHome>
    </configuration>
  </toolchain>
</toolchains>

Run mvn -Drelease clean verify

DatabaseMetaData
I created issue #778 to review the use. I think that there aren't many clients relying on this information, but we should not make stuff up.

My intention is to pick a new ClickHouse node for every incoming HTTP request for the purpose of load balancing, where possibly multiple queries are performed. For that, I need to create a new client for each incoming HTTP request.

Thanks for the explanation. Are those multiple queries issued in same thread or separated ones? This is an example for the former case. The latter one can be tackled with chained Futures in a similar way. IMO, it's safer and easier to close the client once from outside, instead of passing the responsibility to request(s). It sounds like soon we'll need to maintain a reference counter to ensure the client can be only closed after all relevant requests completed. Maybe it's the similar reason of why in JDBC Statement does not have a method to return Connection, even we know they have connection :)
3 more items I can think of for the discussion:

load balancing - ClickHouseCluster is probably a bad example, but I hope it helps you understand that instead of connecting to a specific ClickHouseNode, you can connect to a function to get one. I'll re-write the class in 0.3.3 but let please feel free to share your thoughts.

closing client - as you probably noticed, calling client.close() may not close underlying connection. This really depends on 2 things: 1) whether we want to reuse connection(see here); 2) how we manage underlying connections(e.g. HttpURLConnection and HttpClient use different ways).

use clickhouse-http-client - if you think the API in clickhouse-client creates unnecessary overheads, you may consider to skip that and use clickhouse-http-client. I'm not joking, but if you're seeking more control for better performance, you may want to create http connection directly and pipe ClickHouse response to your caller.

@zhicwu I got your point on not wanting to expose the client reference held in a request. Actually the method performing multiple queries is like a Spring MVC handler (I'm currently using Micronaut), and I wanted to inject ClickHouseRequest into the method and to avoid situations where the handler's not properly cleaning up the relevant ClickHouseClient.
So I'm turning to another implementation strategy where the ClickHouseClient is held separately from ClickHouseRequest and properly closed after completion of handlers, using AOP mechanism.
I have a few points to make on the items you listed above:

load balancing
I'm in the course of leveraging ClickHouseCluster in my code. Initially it's a bit cumbersome to create one from a configuration strings, and the fact that it is stateful (meaning used for tracking if each node is healty or not) bothered me a bit. But in conclusion, I now think the design is reasonable as a low level API.

closing client
As I made a point in my previous comment in this issue, AbstractClient tries very hard to make organized uses of underlying connection but it seems flawed (?). While a request is about to be sent, the underlying connection might still be closed abruptly by another thread invoking connect to another node. So a client seems designed thread-safe, but in an important case of sharing it around and connecting to different nodes, it actually is not.
I'm not sure if we really need to reuse the same client instance when connecting to a different node. To me, it's more natural to have request objects hold their connection. In that case, it might be a bit weird to call it a request. Maybe better named "connection". But I might be missing some important points here.

I like the idea of programming against a common client interface. For instance, I might write another fully async client and it can be easily switched into.

So I'm turning to another implementation strategy where the ClickHouseClient is held separately from ClickHouseRequest and properly closed after completion of handlers, using AOP mechanism.

Sorry for the inconvinence at your end. I hope we can refine the API in 0.3.3 and mitigate situation like this.

I'm in the course of leveraging ClickHouseCluster in my code. Initially it was a bit cumbersome to create one from a configuration strings, and the fact that it is stateful (meaning used for tracking if each node is healty or not) bothered me a bit. But in conclusion, I now think the design is reasonable as a low level API.

In 0.3.2 I removed public modifier of the class as it's buggy and incomplete. I'll rewrite it in 0.3.3 and need to test against multiple nodes(same cluster or not).

As I made a point in my previous comment in this issue, AbstractClient tries very hard to make organized uses of underlying connection with an RW lock, but it seems flawed (?). While a request is about to be sent, the underlying connection might still be closed abruptly by another thread invoking connect to another node. So a client seems designed thread-safe, but in an important case of sharing it around and connecting to different nodes, it actually is not.

Very true. To be honest, I'm still struggling with whether a client should be able to connect to different nodes. In a cluster environment, each time you call client.execute, it may pick a different node for execution, some times for load balancing, some times for fail-over, regardless if you're using the exact same request object.

I'm not sure if we really need to reuse the same client instance when connecting to a different node. To me, it's more natural to have request objects hold their connection. In that case, it might be a bit weird to call it a request. Maybe better named "connection". But I might be missing some important points here.

The simpler the better. Let me see what I can do in 0.3.3 - maybe support both scenarios?


Sample code for GPU could not work on M1 Mac

When codon run the sample code for GPU, it shows:
libdevice.10.bc: error: Could not open input file: No such file or directory

How to fix this?
import gpu

MAX    = 1000  # maximum Mandelbrot iterations
N      = 4096  # width and height of image
pixels = [0 for _ in range(N * N)]

def scale(x, a, b):
    return a + (x/N)*(b - a)

@gpu.kernel
def mandelbrot(pixels):
    idx = (gpu.block.x * gpu.block.dim.x) + gpu.thread.x
    i, j = divmod(idx, N)
    c = complex(scale(j, -2.00, 0.47), scale(i, -1.12, 1.12))
    z = 0j
    iteration = 0

    while abs(z) <= 2 and iteration < MAX:
        z = z**2 + c
        iteration += 1

    pixels[idx] = int(255 * iteration/MAX)

mandelbrot(pixels, grid=(N*N)//1024, block=1024)

Currently the gpu module only supports Nvidia GPUs, but we are planning to add support for M1 soon.

Glad to here that, thanks and waiting for the support

Is there somewhere we can follow the M1 support for GPU? Or the announcements only?


Fix Android native embedded control regression

What does the pull request do?
Fix a regression caused by #9154 which prevents native views from showing. Surfaceview shouldn't be on top.
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-cibuild0024682-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Compass arrow does not work on Nexus 7 and Nexus 10 Tablets

Hello there, the compassview library example application does not seem to work under Nexus 7 and Nexus 10. I've discovered this while testing my app that peruse your library.
At first I thought I've used your library wrongly (I've tested it against other phones), but finally discovered that the CompassView arrow really does not appear in Nexus 7 and Nexus 10 tablets.

Hi! I check it.
But I really not enough time for this library, help will be appreciated :)

I'll try to send patch if I found the fix. Thanks for responding!
On Thu, Jan 22, 2015 at 1:11 PM, Artemiy Garin<EMAIL_ADDRESS>wrote:

Hi! I check it.
But I really not enough time for this library, help will be appreciated :)
—
Reply to this email directly or view it on GitHub
https://github.com/kvirair/Compass-View-Library/issues/5#issuecomment-70972429
.

--
Personal Blog : http://blog.mypapit.net
Website : http://mypapit.net
Profile: http://www.perlis.uitm.edu.my/hafiz
Hamradio Callsign : 9W2WTF
Codes:
http://code.google.com/u/mypapit


Request timeout!

Is there any possibilities in weedfs that there could be request timeouts?
Our server is sending so many requests for reading and writing but few times in a month we see some request timeouts.
like 800 timeouts within 5 minutes and then everything is fine.
@chrislusf Can you think of any reason ? why it could be? Why such time come that weedfs server stops or get idle? or anyother issues?
Right now our master volume server is full, we have 2 other volumes. 1 is full and now all the wriatble volumes are on 3rd one. we are on 0.71 beta version. Can you suggest something?

I am not sure whether you have the latest fix which removes some caching.

Actually, this behaviour is not permanent, like few days there will be no such error, but sometimes there are 2K.
we are on 0.71 Beta but its too old, like a year old may be. where i can get/build the latest version from repository?

just use "go get" to build the latest version.
No good clue. Could it be just some network issue or the problem really happens on volume server?

Okay thanks..
Yeah it could be.. Network issue seems impossible to me as we are on stable
servers.
I really dont understand till now that what could be the problem on volume
server.
On master server we get that issue a lot as  Failed to read file size /storage/2233.dat stat /storage/2233.dat: bad file descriptor
this volume server is on that volume server which is full. this could be an
issue? Is there any way to remove that issue from 2233 volume?
Regards
Junaid Farooq
Software Developer, Evercam.io
+92334- <+92347-8666955>6944005 |<EMAIL_ADDRESS>| Evercam
http://evercam.io/ | Skype: darulehsan1
https://mail.google.com/mail/u/0/#
http://www.facebook.com/ijunaid8088 http://pk.linkedin.com/in/iamjunnii
http://github.com/ijunaid8088 http://twitter.com/ijunaid8088
On 28 December 2016 at 10:23, Chris Lu<EMAIL_ADDRESS>wrote:

just use "go get" to build the latest version.
No good clue. Could it be just some network issue or the problem really
happens on volume server?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/chrislusf/seaweedfs/issues/426#issuecomment-269427748,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM7wj1hN4MB3Pyh-uFQYoYIMOnrpWrPYks5rMfJbgaJpZM4LWrXv
.

Does not seem a big issue. the Size() function is only used for stats reporting.
Not sure why "/storage/2233.dat" is wrong. It is a very basic function call "dataFile.Stat()". Maybe you can manually check what's wrong with this file.

Right, then we don't need to worry about this.
on the index page for that server

it is showing the stats already

this is the results while
root@media /storage # ls -l 2233.dat
-rw-r--r-- 1 root root<PHONE_NUMBER>4 Nov 26 21:49 2233.dat


Helpers can’t mention others in reminders

Helpers (and partners/python community) should be able to mention other users, but not roles, in reminders. In late June, this was still possible, but it currently isn't.
While looking through the source code and git blame (looks calmly at @TizzySaurus), I think I managed to locate the issue to the Reminders._check_mentions method. For a non-mod helper, the error message when mentioning another user in a reminder (should be allowed), is the error message that should be used when trying to mention a role (defined at https://github.com/python-discord/bot/blob/06e90af5e19d9dd83ae44ac2ae0eb3eeb43349e2/bot/exts/utils/reminders.py#L120).
It basically seems like the user is getting blocked due to not being a moderator, while they should be allowed to mention others. If someone could look at this a bit more extensively than I did today, and fix it, that would be much appreciated 😄

@TizzySaurus where are you saying that we're checking if the mention is for a role? To me, it looks like we just return False whenever (1) the user isn't staff or (2) the user isn't a mod.
How would it ever return true if it fails on the "elif not mod" line?

It seems like the reason that this fails is that even though the mentions are converted to mentions: t.Iterable[Mentionable] if a user id is passed into the command, it gets converted to a User object within the iterable, which fails the isinstance(mention, discord.Member) condition.

Yea that should work

Will make a PR then :+1:


The command to generate Poisson meshes is not visible in the GUI

Describe the bug
The command to generate Poisson meshes is not visible in the GUI (see the screenshot)
Screenshots

Additional context
Latest version of nerfstudio, installed using pip install -e .

I got same problem with NeRFStudio 0.2.1

I got same problem with NeRFStudio 0.2.1

Did you train the model with the flag --pieline.model.predict-normals True?

@MvWouden yes

This is a bug that was introduced in the viewer refactor, pushing an update now.


Can we add cypress-xpath in the docker images

I'm getting an error
Error: Cannot find module 'cypress-xpath' from '/e2e/cypress/support'

No, cypress-xpath should be an NPM dependency you install and keep track of using package.json, otherwise the version would immediately diverge


Slashing  penalty needs to depend on multiplicity of offending messages

Currently the slashing penalty does not depend on how many concurrent offending messages were signed by the malicious validator.
As an example, if a malicious proposer signs 1000 alternative proposals, effectively mounting a massive DOS attack  on the network she will still incur the minimum penalty  of 1 ETH, assuming no other validators misbehave.
Note that once the validator is slashed, she becomes unslashable and, therefore, immune to further whisteblower messages.
What I propose, is that if multiple offending messages for the same protocol phase are submitted by whistleblowers,  the validator is punished for each new message submitted.  As an example if the validator created 1000 offending blocks, the first 32 whistleblower submissions will be paid and the validator will essentially be fully slashed.

You are certainly correct that once a validator goes rogue, they can make an infinite number of valid-looking message for "free".
To mitigate this DoS issue, there are validation conditions on the wire that prevent broadcasting of multiple valid blocks/attestations for the same validator(s) in the same time range (slot for block, epoch for attestation)
Check all the gossip conditions out here: https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#global-topics
Relevant conditions:

[IGNORE] The block is the first block with valid signature received for the proposer for the slot, signed_beacon_block.message.slot.
[IGNORE] The aggregate is the first valid aggregate received for the aggregator with index aggregate_and_proof.aggregator_index for the epoch aggregate.data.target.epoch.
[IGNORE] There has been no other valid attestation seen on an attestation subnet that has an identical attestation.data.target.epoch and participating validator index

(there are similar conditions for the other operation types/topics)


Autoselect item if typed text is similar to suggestion item

Hey!
I'm facing problem that there is no 'easy to use' functionality to do such things: user types/paste text that is 100% similar to some item from suggestions. Is there any possibility to auto-pick this 100% right result?
Many thanks!

What you want is: not to display suggestions when there is an exact match.
Here is how you could achieve this.


[FEATURE] Show connected etcd environment in letterhead

Is your feature request related to a problem? Please describe.
The app would be more transparent, especially when using 'Manage keys', if I can see the loaded profile name and the connected environment in the letterhead (picture attached).

Describe the solution you'd like
When I load a profile in 'Settings', the letterhead text must be changed.
Example:
ETCD Manager v1.1.0 - DEV - localhost:2379
ETCD Manager v1.1.0 - DEV2 - localhost:23792
Describe alternatives you've considered
Additional context

This will be added in the next release.

Fixed in develop


Add DB_CONNECTION: "mysql" to the tasks/firefly.yml file because this as

the default setting was removed from the upstream firefly code.

I've tried and tried to get it tested with test-vagrant.sh. I can't seem to get it to accept any connections to view it. However, this is a super simple change that takes my actual working server from having a broken installation of firefly to actually working just fine. After looking through just what is being attempted with the test script and seeing the difference in my server, I think that this is good enough. If not, I'm going to need some hand-holding in getting a working test setup. I've put far more time in trying to figure that out than in solving the actual problem. (Of course, that's only because this was such a simple fix.)
What this PR does / why we need it:
Adds in an environment variable in tasks/firefly.yml to set the database to be mysql.
Which issue (if any) this PR fixes:
As of ~2/2/20, the upstream code was changed to no longer default to have the database be mysql. Without setting the variable, the code just fails and the website will not load.
Fixes #
Any other useful info:

Thanks for the fix :+1:

Awesome, thank you for getting it in and letting me know!
On Fri, Feb 7, 2020 at 2:53 PM David Stephens<EMAIL_ADDRESS>wrote:

Thanks for the fix 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/davestephens/ansible-nas/pull/233?email_source=notifications&email_token=AEXDTPK7EYLMMFFXDDJJEUTRBXQ5PA5CNFSM4KQQAEM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELE43EA#issuecomment-583650704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEXDTPLNK74ODFM5CSVCMZTRBXQ5PANCNFSM4KQQAEMQ
.


How to make some changes?

Hi, I would like to change the template of the Latest releases page, but I can't find whicj page should I change in your cms.
From example, in your site this is the page I want to change: http://foolrulez.org/slide/reader/
I would like to remove all the info (for example: Vol.9 Chapter 229 by FoOlRulez, 22nd May, 2015) and so on, remove the title of every manga and replace all of this with just the thumb. If I click on the thumb I will be redirect to the main page of that manga, for example this: http://foolrulez.org/slide/reader/series/seitokai_yakuindomo/
Also, I would like to remove/disable all the social network button.
Thank you.

The latest releases page is handled by content/theme/default/views/latest.php and the manga page by content/theme/default/views/comic.php
Also here is a theme I made.

Thank you, is it possible to see a live demo of your theme? I would also like to change the default font.

No live version, you can set up a local install, drop it in your theme folder and activate it from the admin area.


Question: are metrics from imported subpackages automatically registered?

Let's say I have a utility sub program that implements a gauge:
from prometheus_client import Gauge

class Foo:
    g = Gauge('my_inprogress_requests', 'Description of gauge')
    def do_stuff(self):
        g.inc()

That gets imported and used in a different program. Will g automatically be posted if I instantiate Foo and call start_http_server from within that program, or do I need to register it somehow?
I'm not sure if this is worth mentioning in the docs, just seems different from the golang client where you have to explicitly register metrics.

Just tested this and it works :+1:


RuntimeError: No active exception to reraise

Hi @LiyaoTang
Have you ever met this bug when running with more than 20 epochs and suddenly corrupt?   Thanks.
File "exp/mydata/origin_multi-Ua-concat-latent_contrast-Ua-softnn-latent-label-l2-w.1/train.py", line 462, in
main()
File "exp/mydata/origin_multi-Ua-concat-latent_contrast-Ua-softnn-latent-label-l2-w.1/train.py", line 130, in main
mp.spawn(main_worker, nprocs=args.ngpus_per_node, args=(args.ngpus_per_node, args))
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/sitepackages/torch/multiprocessing/spawn.py", line 188, in start_processes
while not context.join():
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 150, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
fn(i, *args)
File "/export/home2/author/Documents/contrastBoundary/pytorch_mydata/exp/mydata/origin_multi-Ua-concat-latent_contrast-Ua-softnn-latent-label-l2-w.1/train.py", line 271, in main_worker
loss_train, mIoU_train, mAcc_train, allAcc_train = train(train_loader, model, criterion, optimizer, epoch)
File "/export/home2/author/Documents/contrastBoundary/pytorch_mydata/exp/mydata/origin_multi-Ua-concat-latent_contrast-Ua-softnn-latent-label-l2-w.1/train.py", line 333, in train
loss = criterion(output, target, stage_list)
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/export/home2/author/Documents/contrastBoundary/pytorch_mydata/model/pointtransformer_seg.py", line 24, in forward
loss_list += self.contrast_head(output, target, stage_list)
File "/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/export/home2/author/Documents/contrastBoundary/pytorch_mydata/model/heads.py", line 251, in forward
loss = self.main_contrast(n, i, stage_list, target)
File "/export/home2/author/Documents/contrastBoundary/pytorch_mydata/model/heads.py", line 232, in point_contrast
raise
RuntimeError: No active exception to reraise
/export/home2/author/anaconda3/envs/pt_CBL/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 59 leaked semaphores to clean up at shutdown
len(cache))
How to deal with all False in point_mask?
https://github.com/LiyaoTang/contrastBoundary/blob/master/pytorch/model/heads.py#L232
    # print(point_mask.shape)
    # print(torch.any(point_mask), point_mask[:10])
    if not torch.any(point_mask):
        if i == 0:
            o = torch.cat([torch.tensor([0]).to(o.device), o])
            for bi, (start, end) in enumerate(zip(o[:-1], o[1:])):
                print('bi / labelcnt - ', bi , ' / ', torch.unique(labels[start:end].argmax(dim=1)))
            print(point_mask.sum(0), len(point_mask))
            print(labels[0], neighbor_label[0])
            print(labels[100], neighbor_label[100])
            print(labels[900], neighbor_label[900])
            print(flush=True)
            raise
        return torch.tensor(.0)

Hi, you could comment out the "if i == 0" clause. That is to say, if all false (no boundary detected), we return 0 loss.

Hi @LiyaoTang
I haven't comment out "if i==0" claus. I just use the code you released, and the bug occurs. I will try comment out the "if i ==0" clause, and run again.

Yes, because it is unlikely to have no boundary if using S3DIS and processing the whole room at once as the way of point-transformer. If you use other data, it will be a different situation.


docs: add maui app

Add MAUI App example
from post https://github.com/casdoor/casdoor/issues/2083

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

You can run this command locally to solve this problem:
yarn lint:md


create a new file md,Ignore it please

nothing

Do it in your own repo, please. 7,000 plus people are subscribed to this and see you doing this.


Need to remove makeabilitylab-test from search engines using robots.txt

Need to remove makeabilitylab-test from search engines using robots.txt. We don't want makeabilitylab-test to be visible to search engines (but we do want makeabilitylab.cs.washington.edu to be visible to search engines).

See:
http://www.robotstxt.org/robotstxt.html

If we specify in the robots.txt for makeabilitylab-test to exclude all robots, do we just change it when we move it onto the production server?

It should only ever sit on the test server.
Sent from my iPhone

On Aug 9, 2018, at 10:56 PM, johnsonkuang<EMAIL_ADDRESS>wrote:
If we specify in the robots.txt for makeabilitylab-test to exclude all robots, do we just change it when we move it onto the production server?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I have added  this to the proxy config on the -test site.


Issue updating to latest 1.5.0 build

npm ERR! code 1
npm ERR! path /root/uptime-kuma/node_modules/@louislam/better-sqlite3-with-prebuilds
npm ERR! command failed
npm ERR! command sh -c prebuild-install || npm run build-release
npm ERR! ><EMAIL_ADDRESS>build-release
npm ERR! > node-gyp rebuild --release
npm ERR! prebuild-install WARN install /lib64/libm.so.6: version `GLIBC_2.29' not found (required by<EMAIL_ADDRESS>npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| linux | x64
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python checking Python explicitly set from command line or npm configuration
npm ERR! gyp ERR! find Python - "--python=" or "npm config get python" is "/usr/bin/python3"
npm ERR! gyp ERR! find Python - "/usr/bin/python3" is not in PATH or produced an error
npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
npm ERR! gyp ERR! find Python checking if "python3" can be used
npm ERR! gyp ERR! find Python - "python3" is not in PATH or produced an error
npm ERR! gyp ERR! find Python checking if "python" can be used
npm ERR! gyp ERR! find Python - "python" is not in PATH or produced an error
npm ERR! gyp ERR! find Python checking if "python2" can be used
npm ERR! gyp ERR! find Python - "python2" is not in PATH or produced an error
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! find Python **********************************************************
npm ERR! gyp ERR! find Python You need to install the latest version of Python.
npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
npm ERR! gyp ERR! find Python you can try one of the following options:
npm ERR! gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
npm ERR! gyp ERR! find Python   (accepted by both node-gyp and npm)
npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
npm ERR! gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
npm ERR! gyp ERR! find Python For more information consult the documentation at:
npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
npm ERR! gyp ERR! find Python **********************************************************
npm ERR! gyp ERR! find Python
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Could not find any Python installation to use
npm ERR! gyp ERR! stack     at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:302:47)
npm ERR! gyp ERR! stack     at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:136:21)
npm ERR! gyp ERR! stack     at PythonFinder. (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:179:16)
npm ERR! gyp ERR! stack     at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:266:16)
npm ERR! gyp ERR! stack     at exithandler (child_process.js:326:5)
npm ERR! gyp ERR! stack     at ChildProcess.errorhandler (child_process.js:338:5)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:375:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
npm ERR! gyp ERR! stack     at onErrorNT (internal/child_process.js:467:16)
npm ERR! gyp ERR! stack     at processTicksAndRejections (internal/process/task_queues.js:82:21)
npm ERR! gyp ERR! System Linux 4.18.0-326.el8.x86_64
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
npm ERR! gyp ERR! cwd /root/uptime-kuma/node_modules/@louislam/better-sqlite3-with-prebuilds
npm ERR! gyp ERR! node -v v14.17.3
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok
npm ERR!  No
OS: CentOS Stream release 8
Browser: Chrome Version 92.0.4515.159 (Official Build) (x86_64)

I just found out that, I used too recent version to build better-sqlite3. I will try to rebuild it.
Related issue:
https://github.com/JoshuaWise/better-sqlite3/issues/403#issuecomment-817278393

Rebuilt with old Ubuntu, solved GLIBC_2.29 error, another error come up.
I plan to revert back to node-sqlite3 in the version, since better-sqlite3 is hard to be installed.
You can switch back to 1.3.2 at this moment.
git checkout 1.3.2 --force

Just released 1.5.2, should be solved your problem.

let me bump, which ubuntu version? I can build version 1.5.0 in buster and bullseye correctly, nodejs come from nodesource repo itself.

thanks, 1.5.2 fixed the issue i had and was able to install the latest update. thanks!

let me join, pretty curious abt this, which ubuntu version? I can build version 1.5.0 in buster and bullseye correctly, nodejs come from nodesource repo itself.

I rebuilt the prebuilt with Ubuntu 16.04.
I gave up better-sqlite3 already, so no need to fix.
The dockerfile
https://github.com/louislam/better-sqlite3-with-prebuilds/blob/master/dockerfile_linux


providers: rename ec2 -> aws, gce -> gcp in non-legacy mode

https://github.com/coreos/fedora-coreos-tracker/issues/162
Requires https://github.com/coreos/coreos-metadata/pull/181.

Updated.


Some advices about archiver.

I want to give some advices about archiver.

Should support through record.properties file to record and replay, messaging is inconvenient.
I have see you replace the stream instance with stream key, I think why not use streamId as the filename prefix directly, such as 10.meta and 10.0.aaf
I think the same archive file size for all stream is improper
how to align the many different stream messages?

How to reduce the archive storage space, but not sacrifice performance. It's really hard.

I currently met the archive performance bottleneck, I used the ssd hard disk, but the io writing speed only have 10MB. I thought the key point is the logbuffer transferTo the archive file. Because I have a project to use the record and replay function, I cannot wait for the feature releasing. I wanna to write a recorder in c++, I wish the writing speed is closer to the limit of the hard disk. But something bothered me is if the SBE support c++?

Try the archive now. I'm going to focus on this in more detail beginning next week.

SBE does support C++.

Thanks a lot for your timely response, I would try it tomorrow.

I have tried the archiver without DSYNC, the throughput is up to 120MB, maximum is 200MB, thanks.


Strawberry types don't pick up fields from parent classes

Describe the Bug
Consider this schema:
class MyCommonStuff:
    foo: strawberry.auto
    bar: strawberry.auto

@strawberry_django.type(models.MyModel)
class MyModelState(MyCommonStuff):
    baz: strawberry.auto

@strawberry_django.partial(models.MyModel)
class MyModelStateInputPartial(MyCommonStuff):
    qwe: strawberry.auto

In the generated graphql schema MyModelState will only have field baz (incorrect) whereas MyModelStateInputPartial will have all foo, bar and qwe (correct).
This can be worked around by adding a @dataclass annotation to MyCommonStuff.
System Information

Strawberry version (if applicable): 0.11.0

Hi @Mapiarz ,
This is actually how it works even for dataclasses. If you have a dataclass inheriting from another class with annotations, those will only be considered fields if that parent class is a dataclass itself as well.
The workaround of adding an @dataclass or even an @strawberry.type is actually the proper way of doing that :)

You can see here that either Bar and Bin doesn't have a foo field
In [1]: import dataclasses

In [2]: class Foo:
   ...:     foo: str
   ...:

In [5]: @dataclasses.dataclass
   ...: class Bar(Foo):
   ...:     bar: str
   ...:

In [6]: dataclasses.fields(Bar)
Out[6]: (Field(name='bar',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,default_factory=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD),)

In [7]: @dataclasses.dataclass
   ...: class Bin(Bar):
   ...:     bin: str
   ...:

In [8]: dataclasses.fields(Bin)
Out[8]:
(Field(name='bar',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,default_factory=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD),
 Field(name='bin',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,default_factory=<dataclasses._MISSING_TYPE object at 0x7f73546760d0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD))

Was going to post this too, cause I've been using such a pattern with strawberry_django_plus and things start breaking 😂
And yes adding the @dataclass decorator works 😁
Probably will need to add in docs later on

Thanks for this clarification @bellini666 ! Nonetheless, keep in mind that partial type still picked up the base class fields without @dataclass annotation ;) Something's funky.

@Mapiarz oh really? D:
That should not happen! Thanks for pointing it out, will take a look at that soon


Auto Unread Unless Replied

As a user, I would like to click on a conversation and easily mark it as "Auto unread".
Auto unread conversations are automatically marked as unread until X time has passed. If this happens, the thread ceases to be Auto Unread.
If a message has been received in such a thread, this cancels its Auto Unread status.
Possibly implementation might need to send a "?" message to this number, in order to bump it - and then mark it as unread

Use case: for group with myself, when I write some TODOs there.
Not clear if it's practically useful. Maybe close this.

1: You need a special command '?' to cancels its Auto Unread. Did I hear you right?
2: What time choice do you need?

Not sure this is relevant right now. Closing for now.


feat: change cls index from snake_case to camelCase

:tada: This PR is included in version 2.18.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create CONTRIBUTING.md

Now people have some idea of what to do if they don't want to watch that full hour of live streaming.
It's just basic stuff and probably isn't needed but we have free reign so why not?

I added the truth


ECONNRESET node-hue-api 2.0.1

Hi I'm running Node 4.0.0 and I seem to get this error when I make a call.  What is weird is that the lights still change colors this is just displayed from the .fail() promise.

hueState = lightState.create().rgb(r,g,b);
    hueState.on();
    setLight(hueState);

function setLight(hueState){
    api.setLightState(1, hueState)
        .then()
        .fail(displayError)
        .done();
}

{ [Error: connect ECONNRESET <IP_ADDRESS>:80]
code: 'ECONNRESET',
errno: 'ECONNRESET',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 80 }
Any ideas? I know this has been a bug in the past but I'm puzzled at why it is happening.  Thanks!

The only way I can manage to reproduce this in my testing based off the information you have provided is  when I set the location of the bridge to an invalid IP address for the bridge...
Can you share with me what specific version of the node-hue-api you are using, I tested this against the latest 2.0.1 release.
Also what actual version of Node.js are you running, is it really 4.0.0? When I tested I was using 4.2.2.
Thanks

@peter-murray this doesn't seem to be an issue anymore I cannot seem to recreate it. Closing.


Profile disabling through Mare

When disabling a profile, on my screens it returns to normal. However, disabling is not spread through mare.
As a work around, create a profile that is blank and apply it yourself

Confirmed known issue. This workaround is handy and I'll recommend using it for the time being.


:memo: Feat: Add new homepage to docs

Description
Add new homepage for EVMts beta
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #707   👈

This stack of pull requests is managed by Graphite.


[chip-test, otp_ctrl] chip_sw_otp_ctrl_escalation

Test point name
chip_sw_otp_ctrl_escalation
Host side component
Rust?
Opentitantool infrastructure implemented
Yes
Silicon Validation (SiVal)
Yes
Emulation targets

[ ] None
[ ] CW310
[ ] Hyperdebug + CW310

Contact person
Checklist
Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

[ ] Check if existing test covers most or all of this testpoint (if so, either extend said test to cover all points, or skip the next 3 checkboxes)
[ ] Device-side (C) component developed
[ ] Bazel build rules developed
[ ] Host-side component developed
[ ] Test added to dvsim nightly regression (and passing at time of checking)
[ ] For SiVal test cases, test is running relevant FPGA or silicon regression

This test is currently not part of the SiVal plan:
https://github.com/lowRISC/opentitan/blob/aaec0de35ef5c43d8702dc69143c752de40a4b1b/hw/top_earlgrey/data/ip/chip_otp_ctrl_testplan.hjson#L208-L222
CC: @johngt


port GetINCHI function through api.ts

@qur786 Get in touch with @saikat-samanta and explain the PR to him sometime this wek.


Adding my school

Cerro coso community college

@myschoolaccount-ops I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host email.edu.af not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


I have selected the date and time but while posting the datetime to backend, the date changed

No idea what you mean

I have selected the datetime as 13th nov 2017 at 12 am using ngModel. while displaying datetime in console it was showing 12 nov 2017. Why one day difference as you can see in above screenshot


Use electrumx checkpoints to remove need for pre-checkpoint blockchain sync

This pull request uses electrumx checkpoints to remove need for pre-checkpoint blockchain sync.  It includes various changes from Electrum adapted for the different checkpoint model.
It comes with recent checkpoint heights and merkle roots included for both testnet and mainnet.  If these are removed (edit networks.py and replace the height with None) instead of expecting that height/root, it will fetch at least 3 sets of verification data for the same height from different servers, and won't pass verification stage unless all three match.  The root and height will be printed to the console before it proceeds to use the given header data.

Wow, good work! This is quite comprehensive! I'm actually busy preparing for my vacation/trip (I won't be around for a while).
Quick, dumb question (that I probably could answer myself from reading code): Does this still do the "old thing" if connected to an older protocol server? Or are we all pushing to get all the ElectrumX servers compatible with the new protocol changes?

@cculianu there are enough servers supporting the new protocol it doesn't matter about stragglers; they serve a purpose in handling old clients...

Very cool. Understood about the protocol and I’m all in favor of moving forward 100% and not worrying about old servers.
@kyuupichan , one final question: does the new server support the old protocol?
Reason I ask is that Apple isn’t allowing me to publish new updates to EC iOS until Jonald and I form a corporation named “Electron Cash”— so it may be September before we get a new iOS update out because bureaucracy involved in that.
Would hate for iOS users to not have a working EC...

Yes all protocols back to 1.1 are supported by all servers.  I won't be bumping to 1.2 (which is about 4 months old EC) for another month or so.  I won't be retiring 1.2 until next year

Awesome. This is great work. You spearheaded it kyuupichan and @rt121212121 did great.
Haven’t tested it yet as I’m busy packing but if we get subtle bugs or anything we’ll fix em.
Very exciting! Thanks guys!!! This makes everyone’s life easier especially iOS and j2me!!


Declaring composer package version

I know you have reason/s for putting package versions into composer.json but that prevents updates. https://github.com/shopware/platform/blob/master/composer.json
We could declare package versions in composer.lock

It's not the same. Shopware has two distributions ways zip version and composer. In the Zip your comment would work. But when somebody depend on Shopware using composer only the require from composer.json will be restrictet.
Locking for a specific version makes the lifes for our support team easier, because we have only to check the Shopware version and not of the dependencies. We had already tickets, where a single patch version difference in Symfony broke the complete shop registration and address managment

Okay. I see, you have incompetent users.

Other systems also have zip releases and don't pin packages to a specific version. I guess you don't understand how package management works. Really sad.

@NeoBlack
The current pinning helps us to have a reproduceable build. We have already a ticket open to reconsider it https://issues.shopware.com/issues/NEXT-9961

@shyim Yes! That is fine. I encourage you to do that, just the means of the composer.lock file.

your could do build test with locked versions
with downgraded versions
with latest versions

https://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock

That does not help us. This repository is an library and not an root composer project

Okay.
Please randomly pick a handful of Composer packages https://packagist.org/explore/popular
and it will be very-very difficult to find one with locked versions in the JSON file.
How could it be? (theoretical question)

I just explained our current point why we do it and didn't said we are against that :blush: .
We will look into that linked issue and come back with feedback :blush:


Add test code

Added test keys to every custom pattern.

allows testing efficiently in a testing script
provides a way to add test data to the README.md to cut/paste into the secret scanning UI (not done in this PR)

Every patterns.yml now has a passing test key, and some patterns have been amended to pass cleanly and have added expected data based on new test files.

@GeekMasher - you'll need to update the schema please to allow the test key with key members data (required), and start_offset/end_offset (optional, integers, they default to 0 and -1 respectively)


Python editor removes content of files when they are renamed

I wrote a Python script (thankfully a short, reproducible one) in the bundled Python editor, then when I double clicked the name of the file to rename it and then typed in a new name, the Python file was blank.

Is it possibile you renamed it before saving ?


Non deterministic output

Running the solution with the same tokens jsonl file, the output json of clone groups varies upon each execution.
Is there a more deterministic approach to near duplicate detection?
Cheers
Sky

Apologies for just seeing this issue... If the parallelism is disabled, then you should be able to get a deterministic output. Alternatively, consider using this code which should also yield deterministic results.


Rollback PSR installation causing massive workflow failures

This reverts commit 83d1155cd11a0178b4d7431a0c91ed6c1b7454ad "Revert 'Add psr for PHP 7.0 and above'" as it breaks installations. This rollback will fix https://github.com/shivammathur/setup-php/issues/798 and https://github.com/shivammathur/setup-php/issues/799

tagging @shivammathur for visibility

Such changes should only be done in majors IMO. Thanks for the quick revert
It broke probably millions of CI :)


Look at adding in Django Postres Copy

This could be useful to have as an option: https://pypi.org/project/django-postgres-copy/

Another alternative might be: https://github.com/saxix/django-adminactions/


handle hours

passing passing 3600 gives 60 mins instead of 1 hour.

wonderful, I wasn't sure how people would use this package. If you feel like you can submit a PR, otherwise I'll fix it when I have some time

version 1.1.0 handles optional hours and days through custom format messages. Check the readme for more informantion


Smaller screen sizes destroy tanks at a faster rate

I believe the faster kill rate of tanks has to do with the radius of each turret not being scaled.

 Decrease the size of turret radius range to work with scale.


Some confusion in the paper

Hi,
I have a question about the paper.
In the section IV.C, when you discuss about Table I, you said:
Next, we compare the results of GIGA-Aff with GIGA. In the pile scenario, the gain from geometry supervision is relatively small (around 2% grasp success rate). However, in the packed scenario, GIGA outperforms GIGA-Aff by a large margin of around 5%. We believe this is due to the different characteristics of these two scenarios. From Figure 3, we can see that in the packed scene, some tall objects standing in the workspace would occlude the objects behind them and the occluded objects are partially visible. We hypothesize that in this case, the geometrically-aware feature representation learned via geometry supervision facilitates the model to predict grasps on partially visible objects. Such occlusion is, however, less frequent in pile scenarios.
To summarize, you think pile scenarios has less occlusion than packed scenario.
However, in the same section, when you discuss about Fig 4, you said:
The last two rows show the affordance landscape and top grasps for two pile scenes. We see that baselines without the multi-task training of 3D reconstruction tend to generate failed or no grasp, whereas GIGA produces more diverse and accurate grasps due to the learned geometricallyaware representations.
It feels like you are saying that the reason why we do not have this property in  packed scenario is because piled scenario needs geometrically aware feature more, which means it has more occlusions.
I'm very confused, why you have opposite conclusion for this? Also, if GIGA helps to have better grasp prediction in pile senario, like what you said in the anaylse of Fig 4, why the quantitive result in Table 1 does not have a significant improvement for GSR and DR from GIGA-AFF to GIGA in pile senario?
Thanks for your time and contribution again!

In short, in the packed scenario, more graspable regions are occluded compared with the piled scenario, where occluded regions are usually also not graspable. So the GAP between GIGA and GIGA-Aff is larger in the packed scenario.
Even in the piled scenario, GIGA is still better, although not as much as in the packed scenario. And we assume this is also due to the geometric understanding from multi-task training.
These two points do not contradict each other. Because when we discussed the piled scenario, we didn't say we do not have this property in the packed scenario. On the contrary, as you mentioned, we did say the geometrically-aware feature representation learned via geometry supervision facilitates the model to predict grasps on partially visible objects for packed scenario.

Thanks for your explaination, it's very useful!


Save memory by skipping the shuffle map from Radix4 and Radix3

I was looking into how to make the bit reversal in Radix4 and Radix3 more friendly to SIMD. I was working under the assumption that the bit reversals were too expensive to do in the outer loop of bitreversed_transpose(), but during my experiments, i stumbled across something that made me challenge that assumption.
I discovered that there was little or no performance difference between

Using the shuffle map as-is
Unrolling one step of the shuffle map, so that it only stores some of the values, with the rest being reconstructed via simple arithmetic
Entirely eliminating the shuffle map, and computing one bit reversal per outer loop, with the rest of the bit reversals being reconstructed
Just computing all the bit reversals in the outer loop, with no fancy reconstruction.

As a result, this PR changes Radix 4 and Radix 3 to the last bullet point, completely eliminating the shuffle map. This makes radix4 and radix3 simpler, and creates a much more obvious path for SIMD-ification of the bit reversal algorithm. Although after my experiments here, I'm not too confident that SIMD bit reversal will make much of a difference.

@HEnquist may find this interesting

Ah. The speed difference is within the noise range of the benchmarker. So there may be a difference, but it's too small to see.


Support for binding

This is related to #1
Can this library allow the user to do something like this:
iterable::map(identity)::forEach(console.log)

…under this proposal: https://github.com/zenparsing/es-function-bind
I envision that when the proposal gets adopted a library that does this will be needed. iterall could be that library. As a note, RxJS already allows for this type of function application: http://reactivex.io/rxjs/manual/installation.html

Do you mean that you want to use this library's forEach function using the function-bind syntax?
To answer concretely, currently there is no support for function-bind since the forEach function expects an iterable/array-like as the first argument rather than using the bound-this as the expected iterable/array-like. If that proposal becomes accepted in a version of JavaScript and this becomes a requested feature, then a version of the forEach function which supports it could be added.
If you wanted, you could use this wrapper to try it out:
import { forEach as _forEach } from 'iterall';
function forEach(fn) { return _forEach(this, fn) }

myIterable::forEach(console.log)

However I also think that function-binding support is probably not going to be a desired feature for this library since it's purpose is to provide a general purpose function for operating over any iterable/array-like - typically within other libraries - and the function-bind syntax does not provide much value for this case.
What's probably more likely is that other libraries which provide higher order functions for iterables and do support function-bind might benefit from this library's createIterator function:
import { createIterator } from 'iterall';
import { map, filter, forEach } from 'someotherlib';

createIterator(something)::map(fn)::filter(fn)::forEach(fn)

Closing, but feel free to discuss further.

So then what's this library's unique advantage over Array.from + a polyfill? The low level support is already in the stdlib, what we need now is higher level functions.


Upload keystores compressed

By uploading the keystores.json files compressed in a zip/tar format would allow users to upload multiple validator keys with one password at one time.

not needed anymore


#1124 Add tags to split up swagger docs into sections

Signed-off-by: Nigel Jones<EMAIL_ADDRESS>As part of #1124 this change improves the swagger docs for the REST services provided by the server chassis.

REST endpoints are now split by module ie 'Asset Owner' or 'DevOps' or 'OMRS'
Links to the documentation are included
defaults to a collapsed layout
deprecated operators are striked through
Modules & operations are alpha sorted

Caveats

Formatting isn't great - each Module's header is independently formatted - so they do not align.
Don't expect too much - this is a small step forward, and it's far from great...
No change to the docs for specific operations

I will shortly setup on a server and add a link below for comments
Questions for reviewers

I've named the OMASs 'Asset Owner', 'Asset Consumer' etc but not included OMAS in the first label. We could add this, or we could use 'OMAS : Asset Owner' which might help with ordering given that I can only order by alpha (without writing a new sort method)
APIs can be hidden if we deem them irrelevant - please identify any candidates (for example I've included view services for now)
I've taken the first sentance from docs as a description of the module
Are we ok including all our APIs in a single page -- or do we want a harder split - ie access services via OMRS.

In future PRs I would like to look at:

Layout
Duplicate tag definitions (expedient for first draft)

We will need the OMAS in the name so distinguish between related access, governance and view services.  For example we have the Data Engine OMAS and the Data Engine Services.
I would use their names as appears in the component descriptions, documentation etc so that related services are grouped.  So we may have Discovery Engine OMAS, Discovery Engine OMVS, Discovery Engine Services, ... all grouped together.

Test server : http://<IP_ADDRESS>:54321/swagger-ui.html

Names updated in PR & on test server


Copy image from clipboard to wiki editor / Rich Text Editor - Idea for new feature

This will be great functionality to improve usability of . Also it can be implemented for Rich Text Editor.

Agree, this would be very nice. I'll see how much work it is.

@AleksandrSokolov This now works! released a new version of the summernote plugin. if you paste an image, or choose image upload from the toolbar in a summernote edit field, the images now sent to the Saltcorn file store
I just need to switch the wiki over from markdown to summernote.

wiki is now based on Summernote, so you can paste images into pages

@glutamate this is great. Thank you


GEODE-9331: remove the threadConnMaps ArrayList

The threadConnMaps ArrayList has been removed which will improve performance of new threads
creating their first thread owned connection.
This removal also means that the HashMap is now
only referenced by a ThreadLocal so it no longer
is synchronized which simplifies the code.
Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

the dunit failure is the known issue: https://issues.apache.org/jira/browse/GEODE-9242


Ignoring known alerts in future

Hi, thank you for awesome tool.
I've searched docs but found nothing.
When I receive some alert with known error, I want to ignore same errors.
For example, my rule alerts every doc with field level: WARN. I receive an alert from service some-service with message Can't do some unnesessary stuff. And I want to ignore all same alerts but want to receive all other alerts from this service.
Is there any way?

According to the docs you can ignore same alerts for some period using realert option and combine with use_terms_query. ElastAlert will make an aggregation query to get documents matching each unique value of query_key( doc_type is required).  Note that if your service generates a lot of unique messages you should increase terms_size  which defaults to 50
doc_type: logs
use_terms_query: true
query_key: message
filter:
    - term:
        level: "WARN"
    - term:
        service: some-service
realert:
    minutes: 60


provision: Add provision support for Ubuntu 19.04

This commit adds support for Ubuntu 19.04 in the development
environment.

@amalrajan thanks for working on this!  Can you confirm whether this was sufficient to make things work fully for you?

@timabbott I can confirm that this worked for me without any additional changes to this PR.

OK, great, rebased and merged, thanks @amalrajan and @punchagan!


Support for VertexAI for Gemini LLM and Embedding

I am interested in support for Gemini models, preferably on VertexAI by Google Cloud Platform.
The Gemini 1.5 Pro supports up to 1M Context, which could open a bunch of possibilities for grounding and RAG. Further more it is multimodal (text, images, audio, PDFs, code, videos).
Resources for the integration:
LLM and Embedding models on VertexAI:

https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models

Langchain LLM support for VertexAI and all Gemini models:

https://js.langchain.com/docs/integrations/llms/google_vertex_ai

Langchain Embeddings on VertexAI (Expirimental):
Supports both textembedding-gecko and multimodalembedding@001

https://js.langchain.com/docs/modules/data_connection/experimental/multimodal_embeddings/google_vertex_ai

I'm currently working on the integration, it looks pretty straight forward.
Will also submit a PR, if the authors are interested.
P.S. Thanks for creating this library, well structured and easy to use.

Thank you @tsibg both for engaging and also for the PR. Let's get it merged in.

Published new version 0.0.72 with merged changes.
I like the idea of natively supporting multimodal. RAG is still useful in a multimodal setup. I will start a discussion thread on the best way to go ahead with support for this in the library.


Await on TimeLimiter

Allows awaiting on the TimeLimiter object, making it less awkward to use when the code that needs to be rate limited contains other code that needs to be rate limited.
See https://github.com/David-Desmaisons/RateLimiter/issues/12
Usage:
    var timeconstraint = TimeLimiter.GetFromMaxCountByInterval(5, TimeSpan.FromSeconds(1));
    for(int i=0; i<1000; i++)
    {
        await timeconstraint;
        Trace.WriteLine(string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", DateTime.Now));
    }

Codecov Report

Merging #13 into master will decrease coverage by 1.21%.
The diff coverage is 80%.

@@           Coverage Diff           @@
##           master   #13      +/-   ##
=======================================
- Coverage   96.21%   95%   -1.22%
=======================================
  Files           8    10       +2
  Lines         185   200      +15
=======================================
+ Hits          178   190      +12
- Misses          7    10       +3

Impacted Files
Coverage Δ

RateLimiter/TimeLimiter.cs
89.83% <ø> (ø)
:arrow_up:

RateLimiter/TimeLimiterExtension.cs
100% <100%> (ø)

RateLimiter/TimeLimiterAwaiter.cs
75% <75%> (ø)

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 c6bf42e...f0271a5. Read the comment docs.

Thanks for the PR, I made some comments regarding the current implementation

I'm sorry, I feel totally lost. Where can I find your comments?
I now see that codecov is complaining about a decrease in test coverage (the bot posted that notice after I left this page, and I never received a notification), but I don't see the comments you are mentioning

@gioccher It seems tat I forgot to press the "submit review" button. Sorry for that. You can now find the correspoding comments.

This feature is now implemented in version v2.0.0


the place where I can save the result of any query

I'm trying to save the result of any query inside the key in the cache  and add middle ware where I can check if
the key already exist inside the cache and if it is  return it  otherwise go further  to the  api

Hi! This kind of caching approach is best done in middleware. you want to save the HTML response against a key in the cache that is generated from the HTML request.
Adding your own middleware is documented here:
https://laravel-json-api.readthedocs.io/en/latest/basics/routing/

Actually closing this as I see you've opened an issue in the laravel-json-api package which is where this should be!


Remove Seek Requirement from CSV ReaderBuilder

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

ReaderBuilder::build and ReaderBuilder::build_buffered currently require Seek in order to infer the schema. This causes issues such as #3721, and a peculiar signature for ReaderBuilder::build_decoder which will panic if a schema hasn't been provided.
It is also inconsistent with Reader::new which only requires Read but requires the schema provided up-front.
Describe the solution you'd like

I would like to be able to use ReaderBuilder with a CSV file with a known schema without requiring Seek
Describe alternatives you've considered

Additional context

label_issue.py automatically added labels {'parquet'} from #4133

label_issue.py automatically added labels {'arrow'} from #4133


[ci] Compile acir tests in parallel

#* Analysis of compiling Acir tests inside/outside Earthly
# Each test run compiles the full suite, either in series or in parallel, either inside or outside Earthly.
# Each test prints the contents of the target directory of the eddsa circuit after compilation
# You can see that the 'Inside Earthly Parallel' run has an acir.gz file of a different size
# This results in a proof that fails verification
#
# Outside Earthly Parallel

# [eddsa] Circuit witness successfully solved
# [eddsa] Witness saved to /mnt/user-data/phil/aztec3-packages/noir/noir-repo/test_programs/execution_success/eddsa/target/witness.gz
# total 2544
# -rw-rw-r-- 1 phil phil  904034 May  3 10:40 acir.gz
# -rw-rw-r-- 1 phil phil 1696442 May  3 10:40 witness.gz

# Outside Earthly Series

# [eddsa] Circuit witness successfully solved
# [eddsa] Witness saved to /mnt/user-data/phil/aztec3-packages/noir/noir-repo/test_programs/execution_success/eddsa/target/witness.gz
# total 2544
# -rw-rw-r-- 1 phil phil  904034 May  3 10:43 acir.gz
# -rw-rw-r-- 1 phil phil 1696442 May  3 10:43 witness.gz

# Inside Earthly Parallel

#    +build-acir-tests | [eddsa] Circuit witness successfully solved
#    +build-acir-tests | [eddsa] Witness saved to /usr/src/noir-repo/test_programs/execution_success/eddsa/target/witness.gz
#    +build-acir-tests | total 2472
#    +build-acir-tests | -rw-r--r-- 1 root root  830340 May  3 10:47 acir.gz
#    +build-acir-tests | -rw-r--r-- 1 root root 1696442 May  3 10:47 witness.gz

#  Inside Earthly Series

#     +build-acir-tests | [eddsa] Circuit witness successfully solved
#    +build-acir-tests | [eddsa] Witness saved to /usr/src/noir-repo/test_programs/execution_success/eddsa/target/witness.gz
#    +build-acir-tests | total 2544
#    +build-acir-tests | -rw-r--r-- 1 root root  904034 May  3 10:50 acir.gz
#    +build-acir-tests | -rw-r--r-- 1 root root 1696442 May  3 10:51 witness.gz

Possibly resolved because it seems like CI ran fine with rebuild.sh running things in parallel.


Improve administration process for laws -- Admin table just lists all of them alphabetically

Need to investigate "get_order" to create standardized ORDERING key

CharField changed to TextField for "title", "summary" and "relevance" columns.  Set number of rows for each text area box.  1 row is approx 100 characters.


Adding BufferedHtmlContent and removing BufferEntryCollection.

:watch:

Updated..

:shipit:

One high-level question: MVC has previously been quite conservative about HTML encoding. It generally HTML encodes everything except for a few well-known cases e.g. HtmlString instances and tag / attribute names that TagBuilder writes out.
This new system does the opposite: No string is HTML encoded unless wrapped in a StringHtmlContent instance. Is that safe? How much will the reversal confuse users?

@dougbu what exactly do you mean? What was previously encoded that would no longer be encoded?

I didn't say the system wasn't working as @sornaks has rewritten it. I said the approach has switched around -- which seems less safe and may confuse users. This PR takes us from "encode this unless it's an HtmlString" to "encode this only if it's a StringHtmlContent". (Every other IHtmlContent implementation ignores the IHtmlEncoder parameter to WriteTo().)
It's possible to create a system that behaves more like MVC 5 and earlier MVC 6 milestones. In that world BufferedHtmlContent.WriteTo() would HTML encode all string values and MVC would probably need to use HtmlString a bit more often.

Sorry, still not sure I understand This stuff is basically all plumbing. How, whether on purpose or by accident, would something that would previously have been encoded, no longer be encoded? What type of error, whether by us, or by a customer, would cause an issue?

E.g. user appends a string to a TagHelperContent instance, expecting the value will be encoded when the response is generated. Now that string will not be encoded.

Wait a sec - what? That sounds completely broken to me. I thought the whole point of IHtmlContent is that they represent encoded content (or, that is, content that will be assumed to be properly encoded), whereas string represents raw content that must be encoded.
Let's discuss Monday with the right set of folks.

Checked in. Thanks! https://github.com/aspnet/Common/commit/051a5f76816313c768e97f7e92f17c2ec68f133f


fix: only write changed storage to changesets

It is possible for revm to return storage that has not been changed, which we should not be writing to the storage changeset table.
A cursory run on Sepolia revealed that this is a lot more common than I thought.
This PR skips storage slots that have not been changed.
As an example, this would lead to useless writes to the storage changeset:

A contract loads slot 0 (value is 10)
A contract loads slot 1 and writes to it (value changes from 1 to 2)

We would write both slot 0 (old value 10) and slot 1 (old value 1) in the changeset.
This technically also lead to "no-op" writes to the plain state tables, further decreasing performance.

Just to illustrate, this is a sample of the logs from syncing Sepolia from 0 to tip:

The logs were being spammed with this all through the sync (note: I obviously removed this log)

Codecov Report

Merging #2355 (60cdcbb) into main (1026be0) will decrease coverage by 32.46%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #2355       +/-   ##
===========================================
- Coverage   72.06%   39.61%   -32.46%
===========================================
  Files         480      480
  Lines       58130    58132        +2
===========================================
- Hits        41890    23027    -18863
- Misses      16240    35105    +18865

Flag
Coverage Δ

integration-tests
?

unit-tests
39.61% <100.00%> (-27.21%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crates/revm/src/executor.rs
65.19% <100.00%> (-24.74%)
:arrow_down:

... and 287 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I ran this on my way from 0-5m.
Mainnet: The changeset table is at 9.11GB at block 4.65 million
This PR: The changeset table is at 6.85GB at block 4.86 million
The node running this PR is further along while being ~2GB smaller

Makes sense, amazing. Did the state root also pass at 5M?

let's merge once we confirm state root at 5m

State root confirmed, merging :confetti_ball:


Setup a new deployment and teardown for RC testing of runtime image

Currently, we use the existing integration tests deployments for testing RC runtime image.
Add a make target to create setup new deployment and tear it down for testing RCs for runtime images.

How do we set up connections? otherwise, it would be time taking process on new deployment. Also, much us do not have access to create connections.

I dont think this is a possibility considering we cant copy connection information


Base opencl3 on opencl-sys crate

Changes for https://github.com/kenba/cl3/issues/22 use latest cl3 crate for cl-sys crate obsolescence issue described in issue #30.

Changes pushed to crates.io.


when install plugins , it has errors

gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp http GET https://atom.io/download/atom-shell/v0.34.5/node-v0.34.5.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! install error
gyp ERR! stack Error: read ECONNRESET
gyp ERR! stack     at errnoException (net.js:905:11)
gyp ERR! stack     at TCP.onread (net.js:559:19)
gyp ERR! System Linux 4.2.0-1-amd64
gyp ERR! command "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.34.5" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure"
gyp ERR! cwd /home/jack/.atom
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
how to resolve this??
who can help me?

The same as you.

Maybe issue #9925 will help you.I was trying.

thank you.


Numpy dependency with Bazel and pip on the Raspberry Pi

Executing the wheel (or pink) balancer on a 64-bit raspi results in a
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

The module is there, but it is installed with the incorrect architecture:
$ ls ~/bazel-bin/external/upkie_locomotion/agents/blue_balancer/blue_balancer.runfiles/pip_upkie_locomotion/pypi__numpy/numpy/core/_multiarray_umath*
/home/pi/bazel-bin/external/upkie_locomotion/agents/blue_balancer/blue_balancer.runfiles/pip_upkie_locomotion/pypi__numpy/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so

Workaround for now: pip install numpy for the Pi's user, so that the one from ~/.local/lib is used. (Same as with Pink.)

This issue is still around. From searching a bit more about it I'm guessing we need a proper Python toolchain for the Raspberry Pi, not the default one. See also https://github.com/bazelbuild/rules_python/issues/27

Updated README instructions so that we now use Bazel for spines and Python directly on agents. This removes the blocker/workaround but does not solve this issue.
The default way to run an agent is now:
python agents/<agent_name>/main.py <args>

The downside of this choice is that setting up the Python environment on the Raspberry Pi is up to the user, while Bazel could automate it if we embraced it fully. Consequently switching this issue from a bug to a feature request "Being able to run agent Bazel targets on the Raspberry Pi" :wink:

Promising: https://github.com/bazelbuild/rules_python/issues/1360 :eyes:
In the present stage we would probably run into https://github.com/jvolkman/rules_pycross/issues/41 though.


Add future.annotations to helper.py

Not sure how to test for it - maybe just using all python versions from the ci.yml setup for all tests?

Thanks! I think it is a matter of importing it in the tests. I'm trying to get a test added for the build_compositor helper that would cover this.


[SPARK-5413] bump metrics dependency to v3.1.0

pick up batching of TCP requests to graphite, among other things

What I usually do is diff the output of mvn dependency:tree before and after to see if it does anything to downstream dependencies. Would 3.1.0 change anything?

Test build #26128 has started for   PR 4209 at commit 0e0a62a.

This patch merges cleanly.

Thanks @srowen, here's a diff that seems to imply only changes to this dependency, but the before and after both failed with errors like:
Failed to execute goal on project spark-assembly_2.10: Could not resolve dependencies for project org.apache.spark:spark-assembly_2.10:pom:1.3.0-SNAPSHOT: Failure to find org.apache.spark:spark-repl_2.10:jar:1.3.0-SNAPSHOT in http://repository.apache.org/snapshots was cached in the local repository, resolution will not be reattempted until the update interval of apache.snapshots has elapsed or updates are forced -> [Help 1]

I tried again with mvn -U dependency:tree and the error became:
Failed to execute goal on project spark-assembly_2.10: Could not resolve dependencies for project org.apache.spark:spark-assembly_2.10:pom:1.3.0-SNAPSHOT: Could not find artifact org.apache.spark:spark-repl_2.10:jar:1.3.0-SNAPSHOT in apache.snapshots (http://repository.apache.org/snapshots) -> [Help 1]

This, and my limited maven-fu made me think I need to run a mvn install -DskipTests to get mvn dependency:tree to work, but of course I just got a bunch of build errors on the install command like:
[error] /Users/ryan/c/spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala:314: polymorphic expression cannot be instantiated to expected type;
[error]  found   : [T(in method apply)]org.apache.spark.sql.catalyst.dsl.ScalaUdfBuilder[T(in method apply)]
[error]  required: org.apache.spark.sql.catalyst.dsl.package.ScalaUdfBuilder[T(in method functionToUdfBuilder)]
[error]   implicit def functionToUdfBuilder[T: TypeTag](func: Function1[_, T]): ScalaUdfBuilder[T] = ScalaUdfBuilder(func)
[error]                                                                                ^

...which tells me I probably need to mvn clean and try again.

So, I'll do that, but lmk if the above output through the REPL project, up to Assembly, satisfies your question about this change's effect on the output of mvn dependency:tree

Yep, that's good evidence. You may know better whether there are any incompatibilities that matter, but I assume you wouldn't have proposed it if there were any breaking changes.

Yea, I've run Spark with metrics-v3.1.0 and used the MetricsSystem and it seems to work fine.

Test build #26128 has finished for   PR 4209 at commit 0e0a62a.

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

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

I'm gonna bump the priority for this issue for 1.3 because of the implications it has for #3812. However, if for some reason this doesn't get merged I'll just revert that patch by the release.

ah interesting. I had run into graphite struggling with the <driver> token previously, that would be great if this also fixes that for free

@andrewor14 are you going to merge this?

Actually I merged https://github.com/apache/spark/pull/4218 which contains this patch.

Ok cool. @ryan-williams would you mind closing this then now that it's subsumed by #4218?
@sarutak can you verify whether this solves the issue you raised in #3812?

oh, cool, sure thanks