[Bug] infinite iteration over blobList

Query/Question
When I'm calling following code
    PagedIterable<BlobItem> items = azure.listBlobsByHierarchy(path);
    ArrayList<String> strings = new ArrayList<>();
    for (BlobItem item : items) {
      strings.add(item.getName());
    }
    return strings;

it cames out that loop is infinite, constantly repeating item1 → item2 → item3 → item1 → …
Why is this not a Bug or a feature Request?
It doen't look like a bug because I can't reproduce it in clean environment. My custom environment is plugin for browsing Azure Blob Storage in IDEA.
Setup (please complete the following information if applicable):

OS: Manjaro Linux, 19.0.2, kernel 5.5.8-1-MANJARO
IDE : IntelliJ
Version of the Library used: 12.5.0

Hi, @asm0dey. This does sound like rather unexpected behavior. I can assure you that the listing results are not intended to loop this way! Are you at all able to capture any network traces so we can see if the PagedIterable is issuing repeated requests or simply emitting duplicate cached values? And do you only have those three blobs in your container? Or are there more expected results you aren't seeing?
P.S. Sounds like a neat plugin :)

I absolutely can, but I don't know why request and response bodies aren't being logged.
But once again — I can't reproduce this behavior in clean environment so I don't thnk this is real bug, just something with classpath/classloader/whatever.
P.S. And yes, you'll definitely like this plugin, it's https://plugins.jetbrains.com/plugin/12494-big-data-tools
Hope to see Azure implemented in next EAP release after 6th

That'd be great. Thanks! I don't think request and response bodies are typically logged because they can by quite large.
If you suspect some sort of classpath error, we could start with mvn dependency:tree and see what's going on? There may be some conflicts causing something strange.
Wow that'd be great! Thanks for working on that project, and if we can be supportive in any way, please let us know. We love to see other folks in the community building tools around Storage and Azure in general!

It's not that easy because we don't have traditional build system like maven or gradle, we'e building our project with IDEA itself (and on CI server too).
But please, find UML diagram of dependencies here.
I really can't find anything conflicting here, but I'm not that experienced in reactor and can't even imagine what could make it work the wrong way.

Talking about logging: there is option to log headers and bodies, but body can obly be logged if size of body is known from headers, but according to logs there is no header.
Here is small snip of log:
2020-03-25 09:43:08,627 [57159248]   INFO - rvice.listBlobHierarchySegment - --> GET https://pavelfinkelshteynjb.blob.core.windows.net/testcontainer1?prefix=&delimiter=/&marker=REDACTED&restype=REDACTED&comp=REDACTED
Date:Wed, 25 Mar 2020 06:43:08 GMT
Authorization:REDACTED
Content-Length:0
x-ms-version:REDACTED
x-ms-client-request-id:c4016194-f020-45fc-b254-11a04fd65d52
User-Agent:azsdk-java-azure-storage-blob/12.5.0 (11.0.6; Linux 5.5.8-1-MANJARO)
(empty body)
--> END GET

2020-03-25 09:43:08,639 [57159260]   INFO - rvice.listBlobHierarchySegment - <-- 200 https://pavelfinkelshteynjb.blob.core.windows.net/testcontainer1?prefix=&delimiter=/&marker=REDACTED&restype=REDACTED&comp=REDACTED (68 ms, unknown-length body)
Date:Wed, 25 Mar 2020 06:43:07 GMT
Server:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Transfer-Encoding:chunked
x-ms-version:REDACTED
Content-Type:application/xml
x-ms-request-id:REDACTED
x-ms-client-request-id:7836d3ae-cf10-4432-a511-479dbf4ec09d
(body content not logged)
<-- END HTTP

In class com.azure.core.http.policy.HttpLoggingPolicy we can find method logResponse, and there
                String contentTypeHeader = response.getHeaderValue("Content-Type");
                long contentLength = this.getContentLength(logger, response.getHeaders());
                if (this.shouldBodyBeLogged(contentTypeHeader, contentLength)) {
// snip

                } else {
                    responseLogMessage.append("(body content not logged)").append(System.lineSeparator()).append("<-- END HTTP");
                    return this.logAndReturn(logger, responseLogMessage, response);

and in method getContentLength
    private long getContentLength(ClientLogger logger, HttpHeaders headers) {
        long contentLength = 0L;
        String contentLengthString = headers.getValue("Content-Length");
        if (CoreUtils.isNullOrEmpty(contentLengthString)) {
            return contentLength;
// snip

So this API doesn't support logging of bodies.

@asm0dey Sorry for the delay. Can you update your HttpLogOptions on your client builders to add "marker" as an allowedQueryParameter? It looks like it's being redacted from your logs, and I suspect that perhaps something is triggering a list call with the same marker over and over again. We coincidentally saw some similar behavior in some development we're doing over here, and I think it might be the same cause.
I'm not seeing anything in the UML diagram that stands out, but I've also never looked at one before.

Absolutely. Please find full log attached:
idea.log
Marker is empty all the way

grep marker= idea.log | more tells us that there is constantly repeating request GET https://pavelfinkelshteynjb.blob.core.windows.net/testcontainer1?prefix=&delimiter=/&marker=&restype=REDACTED&comp=REDACTED is going

Also we can see that there is some enormous number of requests: 673. It was like to requests from client side

@rickle-msft any ideas on this?

@rickle-msft just a friendly reminder

Hi, @asm0dey. I'm so sorry about the delay! My emails from GitHub were getting filtered incorrectly for a little while, and when I noticed and fixed it, I must have also missed picking up this issue. Apologies again and thank you for the reminder.
Yea it's interesting that all the requests have that empty marker= query parameter. The only way I can reproduce that specific behavior is by explicitly passing an empty string as the continuation token, and even that doesn't loop infinitely.
@anuchandy Do you have any sense of if, as suggested, some sort of dependency problem could be causing this? It looks like he's using a shaded 12.5.0 jar, and I'm not too familiar with jar shading and how that might affect interactions with the classpath and classloader.

Actually, I've even tried to unshade it and it changes literally nothing
in this behavior. Also I'm not changing any package names or smth like
that.
I've even reached one of reactor project developers, but his only idea
was that iterator is being recreated every call.
On 20/04/29 10:53AM, Rick Ley wrote:

Hi, @asm0dey. I'm so sorry about the delay! My emails from GitHub were getting filtered incorrectly for a little while, and when I noticed and fixed it, I must have also missed picking up this issue. Apologies again and thank you for the reminder.
Yea it's interesting that all the requests have that empty marker= query parameter. The only way I can reproduce that specific behavior is by explicitly passing an empty string as the continuation token, and even that doesn't loop infinitely.
@anuchandy Do you have any sense of if, as suggested, some sort of dependency problem could be causing this? It looks like he's using a shaded 12.5.0 jar, and I'm not too familiar with jar shading and how that might affect interactions with the classpath and classloader.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Azure/azure-sdk-for-java/issues/9465#issuecomment-621366540

--
Regards,
Pasha
Big Data Tools @ JetBrains

@asm0dey
could you please run the following code in your setup and share what you see as output. Yes, it's going to run infinitely, just break after you see Processing Page:start 3-4 times.
BlobContainerAsyncClient blobContainerClient = new BlobContainerClientBuilder()
        .endpoint("<your-storage-account-url>")
        .sasToken("<your-sasToken>")
        .containerName("mycontainer")
        .buildAsyncClient();

PagedFlux<BlobItem> flux = blobContainerClient.listBlobsByHierarchy(path);
flux.byPage()
        .doOnNext(new Consumer<PagedResponse<BlobItem>>() {
            @Override
            public void accept(PagedResponse<BlobItem> response) {
                System.out.println("Processing Page:start");
                List<BlobItem> items = response.getValue();
                for (BlobItem item : items) {
                    System.out.println(item.getName());
                }
                if (response.getContinuationToken() == null) {
                    System.out.println("ContinuationToken: null");
                } else if (response.getContinuationToken().length() == 0) {
                    System.out.println("ContinuationToken: empty");
                } else {
                    System.out.println("ContinuationToken: non-empty:" + response.getContinuationToken());
                }
                System.out.println("Processing Page:end");
            }
        }).blockLast();

btw, please redact the item name if you wish, I'm interested in the null | empty | non-empty attributes of the continuationToken.

Sorry for delay, I believe it's difference it TZs.
Here it is
Processing Page:start
.travis.yml
build.sh
.git/
KateTest12/
KateTest1234/
KateTest12345/
KateTestRenamed/
Test1/
demo/
plugins/
ContinuationToken: empty
Processing Page:end
Processing Page:start
.travis.yml
build.sh
.git/
KateTest12/
KateTest1234/
KateTest12345/
KateTestRenamed/
Test1/
demo/
plugins/
ContinuationToken: empty
Processing Page:end
Processing Page:start
.travis.yml
build.sh
.git/
KateTest12/
KateTest1234/
KateTest12345/
KateTestRenamed/
Test1/
demo/
plugins/
ContinuationToken: empty
Processing Page:end

I'm writing in kotlin, so my code looks slightly different:
    BlobServiceClientBuilder()
      .endpoint(endpoint)
      .apply { authProvider(this) }
      .httpClient(NettyAsyncHttpClientBuilder().build())
      .buildAsyncClient()
      .getBlobContainerAsyncClient(container)
      .listBlobsByHierarchy("")
      .byPage()
      .doOnNext { response ->
        println("Processing Page:start")
        val items = response.value
        for (item in items) {
          println(item.name)
        }
        when {
          response.continuationToken == null -> println("ContinuationToken: null")
          response.continuationToken.isEmpty() -> println("ContinuationToken: empty")
          else -> println("ContinuationToken: non-empty:" + response.continuationToken)
        }
        println("Processing Page:end")
      }
      .blockLast()

And also I've already complained that http client isn't being autodetected because of classloader issues, so I have to create it manually.
I hope it changes nothing.

@asm0dey thank you for sharing this!
@rickle-msft - from the output, it looks like the marker (aka continuationToken) for the last page is empty "" and not null. The exit criteria for the "page fetching loop" is null continuation token.
I think that explains why this is getting into the infinite loop.
If I run the above code locally, the last page always has the marker property value as null so not reproducible in my storage account. The output looks like below,
Processing Page:start
foo.jpeg
ContinuationToken: null. <------  [In Paul's case this is an empty string ""]
Processing Page:end

if we manually set (in debug mode) that to empty string "" then I can see that it getting into an infinite loop.
Any chance storage service over the wire returns marker property as an empty string, indicating that it is the last page?

@anuchandy I think the service always returns the empty xml element <NextMarker /> when there isn't a next page. The rest docs state "Note that the Prefix, Marker, MaxResults, and Delimiter elements are present only if they were specified on the request URI. The NextMarker element has a value only if the list results are not complete." I believe that implies NexMarker will always be present but may not always have a value.
Is there any chance the different environment is somehow causing the deserializer to give empty string instead of null? We could also make the check for null or empty instead of just null?

Any ideas on minimal test to reproduce substitution of "" with null in our environment?

@rickle-msft thanks for the reference. Let me reach out to few people and get back, but I can see that the previous runtime indeed treat the empty string as an exit condition ref.
while (nextPageLink != null && nextPageLink != "") {

not completely sure but this is probably an indication that when next token is of type String then some azure services might be using empty string to indicate completion.

I'm seeing the same problem with the Iterable returned by DataLakeServiceClient.listFileSystems method.  When I used an asynch client and printed markers, as in the suggestion above, I see empty strings.

@rodburgett I suppose it could help if you post information on your environment. Possibly we could find common things in our environments.

@asm0dey I think the only common element in our environments is the blob storage jar, and even there we are using different versions.  I'm working on Window 10, using Gradle for execution.  I first ran into this problem with version 12.3.0 of the azure-storage-blob jar.  I recently upgraded to 12.6.0 and continue to see the problem.

@asm0dey, @rodburgett - within the team we discussed treating "" as well the signal to end the paging, given it is the case with many azure-services. Opened a draft for it. (this issue results in another missing functionality in the core level)
While the infinite-loop problem you're running into will disappears as a side effect of this change, it is interesting to understand why your environment treats empty XML node as "" instead of null.

can you share the version of Jackson that gets loaded in the application class-path?

I'm using Jackson jars v2.10.2.

@anuchandy here is my full classpath if it'll help:
accessors-smart-1.2.jar
aircompressor-0.15.jar
annotations-17.0.0.jar
asm-5.0.4.jar
avro-1.8.0.jar
avro-1.8.2.jar
aws-java-sdk-bundle-1.11.375.jar
azure-core-1.4.0.jar
azure-core-http-netty-1.5.0.jar
azure-storage-blob-12.6.0.jar
azure-storage-common-12.6.0.jar
bigdatatools.jar
commons-beanutils-1.9.3.jar
commons-beanutils-1.9.4.jar
commons-cli-1.2.jar
commons-codec-1.11.jar
commons-codec-1.5.jar
commons-collections-3.2.2.jar
commons-collections4-4.4.jar
commons-compress-1.4.1.jar
commons-compress-1.8.1.jar
commons-configuration2-2.1.1.jar
commons-io-2.5.jar
commons-lang-2.6.jar
commons-lang3-3.7.jar
commons-lang3-3.9.jar
commons-logging-1.1.3.jar
commons-logging-1.2.jar
commons-math3-3.1.1.jar
commons-net-3.6.jar
commons-pool-1.5.4.jar
commons-text-1.4.jar
commons-text-1.8.jar
curator-client-2.12.0.jar
curator-framework-2.12.0.jar
curator-recipes-2.12.0.jar
diff-match-patch-1.2.jar
dnsjava-2.1.7.jar
fastutil-6.5.7.jar
google-cloud-storage-1.105.2.jar
guava-11.0.2.jar
hadoop-annotations-3.2.0.jar
hadoop-auth-3.2.0.jar
hadoop-aws-3.2.0.jar
hadoop-client-3.2.0.jar
hadoop-common-3.2.0.jar
hadoop-distcp-3.2.1.jar
hadoop-hdfs-client-3.2.0.jar
hadoop-mapreduce-client-common-3.2.0.jar
hadoop-mapreduce-client-core-3.2.0.jar
hadoop-mapreduce-client-jobclient-3.2.0.jar
hadoop-yarn-api-3.2.0.jar
hadoop-yarn-client-3.2.0.jar
hadoop-yarn-common-3.2.0.jar
hive-storage-api-2.6.0.jar
htrace-core4-4.1.0-incubating.jar
jackson-annotations-2.10.1.jar
jackson-core-2.10.1.jar
jackson-core-asl-1.9.11.jar
jackson-core-asl-1.9.13.jar
jackson-databind-2.10.1.jar
jackson-dataformat-xml-2.10.1.jar
jackson-datatype-jsr310-2.10.1.jar
jackson-mapper-asl-1.9.11.jar
jackson-mapper-asl-1.9.13.jar
jackson-module-jaxb-annotations-2.10.1.jar
jakarta.activation-api-1.2.1.jar
jakarta.xml.bind-api-2.3.2.jar
javax.servlet-api-3.1.0.jar
jaxb-api-2.2.11.jar
jcip-annotations-1.0-1.jar
jersey-client-1.19.jar
jersey-core-1.19.jar
jersey-servlet-1.19.jar
json-smart-2.3.jar
jsoup-1.12.1.jar
jsp-api-2.1.jar
jsr305-3.0.0.jar
jsr311-api-1.1.1.jar
kerb-admin-1.0.1.jar
kerb-client-1.0.1.jar
kerb-common-1.0.1.jar
kerb-core-1.0.1.jar
kerb-crypto-1.0.1.jar
kerb-identity-1.0.1.jar
kerb-server-1.0.1.jar
kerb-simplekdc-1.0.1.jar
kerb-util-1.0.1.jar
kerby-asn1-1.0.1.jar
kerby-config-1.0.1.jar
kerby-pkix-1.0.1.jar
kerby-util-1.0.1.jar
kerby-xdr-1.0.1.jar
log4j-1.2.17.jar
moshi-1.7.0.jar
moshi-adapters-1.7.0.jar
moshi-kotlin-1.7.0.jar
netty-buffer-4.1.45.Final.jar
netty-codec-4.1.45.Final.jar
netty-codec-http-4.1.45.Final.jar
netty-codec-http2-4.1.45.Final.jar
netty-codec-socks-4.1.45.Final.jar
netty-common-4.1.45.Final.jar
netty-handler-4.1.45.Final.jar
netty-handler-proxy-4.1.45.Final.jar
netty-resolver-4.1.45.Final.jar
netty-tcnative-boringssl-static-2.0.27.Final.jar
netty-transport-4.1.45.Final.jar
netty-transport-native-epoll-4.1.45.Final-linux-x86_64.jar
netty-transport-native-unix-common-4.1.45.Final.jar
nimbus-jose-jwt-4.41.1.jar
nv-websocket-client-2.9.jar
okhttp-2.7.5.jar
okhttp-3.14.7.jar
okio-1.17.2.jar
opencsv-5.1.jar
orc-core-1.6.2.jar
orc-shims-1.6.2.jar
paranamer-2.7.jar
parquet-avro-1.9.0.jar
parquet-column-1.9.0.jar
parquet-common-1.9.0.jar
parquet-encoding-1.9.0.jar
parquet-format-2.3.1.jar
parquet-hadoop-1.9.0.jar
parquet-jackson-1.9.0.jar
protobuf-java-2.5.0.jar
re2j-1.1.jar
reactive-streams-1.0.3.jar
reactor-core-3.3.3.RELEASE.jar
reactor-netty-0.9.5.RELEASE.jar
snappy-java-<IP_ADDRESS>.jar
snappy-java-<IP_ADDRESS>.jar
snappy-java-<IP_ADDRESS>.jar
stax2-api-3.1.4.jar
stax2-api-4.2.jar
token-provider-1.0.1.jar
woodstox-core-5.0.3.jar
woodstox-core-6.0.2.jar
xz-1.0.jar
xz-1.5.jar

I can see number of duplicate dependencies. Do you think it can break something?

export.zip
@rodburgett @anuchandy Here I attach minimal plugin that reproduces infinite iteration. It can be built by gradle and there is run configuration to run bundled idea

@asm0dey - I was able to build the project, how can I run it, I see below error indicating "no plugin specified", nothing list under "use classpath of the module" option, am I using the right config here, if not could you provide detailed steps?

The easiest way is to just call gradle's runIde task. If you'll run it from idea — wull.be able to debug it

@asm0dey thanks for that hint, I was able to load the plugin.
I spent some time debugging the plugin code, the issue is nothing specific to storage SDK.
Within the IntelliJ sandbox, Jackson is unable to locate the XML parser. Jackson uses ServiceLoader to load the XML parser factory. Outside the plugin environment, it is able to load WstxInputFactory [com.fasterxml.woodstox:woodstox-core] but not in the sandbox, hence Jackson switches to a default implementation Stax2ReaderAdapter which has no way to detect empty node. @asm0dey I guess you will need to see how to make plugin ClassLoader to aware of this dependency that is loaded on demand.
Here is the updated plugin project that has only Jackson dependency  export-2.zip if that helps.

Btw in the above-updated plugin code, the following Gradle dependency doesn't have to be explicitly specified
group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: '6.0.3'

this is a transitive dependency of "jackson-dataformat-xml" so it can be removed.
I came across this post if it helps: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206761975-How-to-load-classes-in-a-plugin-with-ServiceLoader-

If we follow the instruction listed in the above IntelliJ plugin thread, then Jackson is able to use the ServiceLoader:
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());

not sure this is the optimal solution for plugin though.

Wow! Very impressive research, thank you very much for this! And it actually works. I couldn't even think that it's about classloader too.

@anuchandy is there any hope that you'll be able to add an overloaded method which will accept another classloader as argument? This answer on SO gives insight on why this may be useful.

I have a simple Java/Gradle repro case, no IDE required.  After adding that woodstox-core dependency to build.gradle the first 'ContinuationToken' returned during iteration is now null.   And my iteration loop ends as expected.
Running outside of an IDE it looks like a dependency problem, not a class loader problem.
Thanks @anuchandy

@rodburgett happy to hear you're unblocked.
@asm0dey - we've some work-in-progress to enable users to configure JacksonAdapter. See these modules 1, 2. Hopefully, libraries allow the user to provide a configured adapter soon, we are piloting this with some selected SDKs (e.g., cosmos).
Given the plugin brings its conflicting dependencies, another option to explore is shading.
I feel like the plugin framework should provide a way to handle the standard java service-provider loading facility instead of developers working around it. If we look at the OSGi plugin/bundler world, it gives a service-loader mediator scheme to handle the same case, this enables loading to work on 3rd party libraries without app developers modifying it.
I spend some time to look into how IntelliJ plugin works underneath and opened an issue in IntelliJ plugin repro: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008239419-How-to-make-the-plugin-CCTL-aware-of-the-Service-Provider-type-that-java-utils-ServiceLoader-looks-for

@anuchandy I believe it will be too hard to introduce Classloader which will behave correctly in IDEA cause there are many plugins and many threads, but ContextClassLoader is being set up per thread.
And yes, both OSGi and JBoss Modules provide a way to work with  service loaders correctly, but ways they do that are not too simple. Do we really want more complexity in our IDE? :)

The main reason I'm worried about setting CCL in the az libraries is, this may be a workaround for one case, but given its a library and will be used in many environments, setting CCL without understanding what goes underneath the env is risky.
Even if we want to take the route of passing classloaders 3rd party libs, not all 3rd party libs may be supporting it. Jackson XMLMapper is an example.
yea OSGi mediator is not simple, but I think the framework provided functionality is always safe and it ensure nothing breaks. So I thought it should be solved similarly in InteillJ plugin fx, hence the issue.
I guess once we have the option to configure the JackonAdpater (like I mentioned in the previous comment), users should be able to provide the factory, so there is no CCL workaround.
Or alternatively, shading is another possible option to consider, here is a related thread https://github.com/Azure/azure-sdk-for-java/issues/11104, but in this case, there was also a conflict issue.

I believe you can even create real issue at youtrack.jetbrains.com.
Shading can be nice alternative, but we should decide who should be responsible for shading — library or plugin. And anyways shading should be very refined, because for example shading of reactor is not recommended by reactor team.

Thank you for the correct link to report the issue, opened one here: https://youtrack.jetbrains.com/issue/IDEA-241229

@asm0dey @anuchandy What is the status of this issue? Do we need to keep it open for tracking or are we satisfied with opening the issue with jetbrains?

@rickle-msft thank you very much for asking and tracking! I'm absolutely satisfied with current state.

Sounds good. In that case I will close it and we can reopen it if we need further discussion here. Thanks for all your work!

I am facing same issue in my custom plugin, what is the workaround? @anuchandy

@tooptoop4 In my case it was classloader issue, did you check?

I am facing the same problem with listBlobs(). Is there a solution other than changing classloader?

@nkanala my workaround was to add each blob name to a collection then break the loop if it finds a blob already in the collection

@tooptoop4 @nkanala Thank you for your willingness to collaborate on this. One heads up I'll give you around that is if you're doing a hierarchical listing, maybe add an extra test case around the scenario where one blob name is a prefix for another blob name. e.g. case 1: foo and foo/bar. Case 2: foo/ and foo/bar. I believe in the former case the returned items will be foo and foo/ and in the latter case only foo/ will be returned, but I thought it better to mention in case your app has other logic to transform these results before comparing.

Just FYI, I experience this issue when upgrading from jackson-databind 2.11.4 (Dec 2020) to 2.12.0 (Nov 2020) c.f. https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
So my solution in this case is to stay at 2.11.4. :)

I experienced the same issue, writing a plugin for graylog integration with Azure EventHubs. Adding Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); like @anuchandy points out before creating the client solved the problem.
Here is the code instantiating the BlobContainerAsyncClient:
//Instantiating the BlobContainerAsyncClient
119               BlobContainerAsyncClient blobContainerAsyncClient =
120                   new BlobContainerClientBuilder()
121                       .connectionString(STORAGE_CONNECTION_STRING)
122                       .containerName(STORAGE_CONTAINER_NAME)
123                       .httpClient(httpClient)
124                       .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
125                       .buildAsyncClient();
// Instantiating the event processor
129               BlobCheckpointStore blobCheckpointStore = new BlobCheckpointStore(blobContainerAsyncClient);
130               EventProcessorClientBuilder eventProcessorClientBuilder =
131                   new EventProcessorClientBuilder()
132                       .connectionString(EH_CONNECTION_STRING)
133                       .consumerGroup(EH_CONSUMER_GROUP)
134                       .processEvent(eventContext -> {
135                         LOG.info(
136                             "Processing event from partition {} with sequence {} %n",
137                             eventContext.getPartitionContext().getPartitionId(),
138                             eventContext.getEventData().getBodyAsString());
139                         if (eventContext.getEventData().getSequenceNumber() % 10 == 0) {
140                         }
141                       })
142                       .processError(errorContext -> {
143                         LOG.error(
144                             "Error occurred in partition processor for partition {}, {}.%n",
145                             errorContext.getPartitionContext().getPartitionId(), errorContext.getThrowable());
146                       })
147                       .checkpointStore(blobCheckpointStore);

The output would indefinitely be:
graylog_1 2021-01-22 23:25:11,690 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:e94e4822-d575-4172-9967-5f040598af7cUser-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,692 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:3309ac6e-33ef-46f5-b64b-60b1b0a98cd8User-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,700 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - <-- 200 https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTED (19 ms, unknown-length body)Date:Fri, 22 Jan 2021 23:25:11 GMTServer:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0Transfer-Encoding:chunkedx-ms-version:REDACTEDContent-Type:application/xmlx-ms-request-id:REDACTEDx-ms-client-request-id:fa182abe-03bc-48cd-b981-de7246bb1ee9(body content not logged)<-- END HTTP
graylog_1 2021-01-22 23:25:11,703 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:88b6b377-092a-4eee-9fdd-6d00a4c07e22User-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,713 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - <-- 200 https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTED (20 ms, unknown-length body)Date:Fri, 22 Jan 2021 23:25:11 GMTServer:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0Transfer-Encoding:chunkedx-ms-version:REDACTEDContent-Type:application/xmlx-ms-request-id:REDACTEDx-ms-client-request-id:3309ac6e-33ef-46f5-b64b-60b1b0a98cd8(body content not logged)<-- END HTTP

Sorry for the verbose comment, hope it helps someone who faces the same issue.

I experienced the same issue, writing a plugin for graylog integration with Azure EventHubs. Adding Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); like @anuchandy points out before creating the client solved the problem.
Here is the code instantiating the BlobContainerAsyncClient:
//Instantiating the BlobContainerAsyncClient
119               BlobContainerAsyncClient blobContainerAsyncClient =
120                   new BlobContainerClientBuilder()
121                       .connectionString(STORAGE_CONNECTION_STRING)
122                       .containerName(STORAGE_CONTAINER_NAME)
123                       .httpClient(httpClient)
124                       .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
125                       .buildAsyncClient();
// Instantiating the event processor
129               BlobCheckpointStore blobCheckpointStore = new BlobCheckpointStore(blobContainerAsyncClient);
130               EventProcessorClientBuilder eventProcessorClientBuilder =
131                   new EventProcessorClientBuilder()
132                       .connectionString(EH_CONNECTION_STRING)
133                       .consumerGroup(EH_CONSUMER_GROUP)
134                       .processEvent(eventContext -> {
135                         LOG.info(
136                             "Processing event from partition {} with sequence {} %n",
137                             eventContext.getPartitionContext().getPartitionId(),
138                             eventContext.getEventData().getBodyAsString());
139                         if (eventContext.getEventData().getSequenceNumber() % 10 == 0) {
140                         }
141                       })
142                       .processError(errorContext -> {
143                         LOG.error(
144                             "Error occurred in partition processor for partition {}, {}.%n",
145                             errorContext.getPartitionContext().getPartitionId(), errorContext.getThrowable());
146                       })
147                       .checkpointStore(blobCheckpointStore);

The output would indefinitely be:
graylog_1 2021-01-22 23:25:11,690 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:e94e4822-d575-4172-9967-5f040598af7cUser-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,692 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:3309ac6e-33ef-46f5-b64b-60b1b0a98cd8User-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,700 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - <-- 200 https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTED (19 ms, unknown-length body)Date:Fri, 22 Jan 2021 23:25:11 GMTServer:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0Transfer-Encoding:chunkedx-ms-version:REDACTEDContent-Type:application/xmlx-ms-request-id:REDACTEDx-ms-client-request-id:fa182abe-03bc-48cd-b981-de7246bb1ee9(body content not logged)<-- END HTTP
graylog_1 2021-01-22 23:25:11,703 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - --> GET https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTEDDate:Fri, 22 Jan 2021 23:25:11 GMTAuthorization:REDACTEDContent-Length:0x-ms-version:REDACTEDx-ms-client-request-id:88b6b377-092a-4eee-9fdd-6d00a4c07e22User-Agent:azsdk-java-azure-storage-blob/12.9.0 (1.8.0_265; Linux; 4.19.121-linuxkit)(empty body)--> END GET
graylog_1 2021-01-22 23:25:11,713 INFO : com.azure.storage.blob.implementation.ContainersImpl$ContainersService.listBlobFlatSegment - <-- 200 https://shgraylog.blob.core.windows.net/shgraylog?prefix=REDACTED&marker=REDACTED&include=REDACTED&restype=REDACTED&comp=REDACTED (20 ms, unknown-length body)Date:Fri, 22 Jan 2021 23:25:11 GMTServer:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0Transfer-Encoding:chunkedx-ms-version:REDACTEDContent-Type:application/xmlx-ms-request-id:REDACTEDx-ms-client-request-id:3309ac6e-33ef-46f5-b64b-60b1b0a98cd8(body content not logged)<-- END HTTP

Sorry for the verbose comment, hope it helps someone who faces the same issue.

Just FYI, I experience this issue when upgrading from jackson-databind 2.11.4 (Dec 2020) to 2.12.0 (Nov 2020) c.f.

I've experienced this same issue upgrading to 2.12.0, the problem seems to be that the default behaviour in that version has changed (https://github.com/FasterXML/jackson-dataformat-xml/issues/411) and for an empty block, it now returns and empty string instead of null. I don't think there's a way to inject a custom SerializerAdapter. The fix should be fairly trivial to implement in JacksonAdapter#JacksonAdapter and configure the parser to behave as expected.


Refactor beautify on save to take advantage of onWillSave allowing async

Description
Referencing @Glavin001 's question here:  https://discuss.atom.io/t/best-way-to-change-the-texteditor-textbuffer-on-save-when-my-function-is-asynchronous/43531.  The onWillSave callback function now looks for a returned promise, and will not save the buffer until the promise is resolved.
This will require significant code changes of core atom-beautify code, but will result in performance improvements as well as less code.  This will also require users to be on Atom 1.21 or higher, so have to make sure package.json atom engine version is also updated.
Checklist
I have:

[ ] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[ ] Reloaded (or restarted) Atom to ensure it is not a caching issue
[ ] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[ ] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[ ] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

Other references:
https://atom.io/docs/api/v1.21.0/TextBuffer#instance-onWillSave
https://github.com/atom/atom/pull/14435#issuecomment-330990750
https://github.com/atom/text-buffer/pull/254

This would be huge!! Pull Requests very welcome!
@szeck87 would you be up for taking this on? If so, I will assign to you.

Yep, I will put effort into this.


Issue with make modules

Error appears when run make modules inside nginx connector folder
After compiling Modsecurity successfully and I downloaded http://nginx.org/download/nginx-1.10.3.tar.gz
I chose this version to be compatible with the running nginx, And I can't upgrade it because it is compatible with BigBlueButton Application.
Then cd into nginx-1.10.3
I ran:
# ./configure --with-compat --add-dynamic-module=../ModSecurity-nginx
But option --with-compat was wrong, so I removed it
So I ran
# ./configure --add-dynamic-module=../ModSecurity-nginx << done
And then I ran:
# make modules
I faces this error:
Logs and dumps
../ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c: In function ‘ngx_http_modsecurity_rewrite_handler’: ../ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c:79:27: error: implicit declaration of function ‘ngx_inet_get_port’ [-Werror=implicit-function-declaration]          int client_port = ngx_inet_get_port(connection->sockaddr);                                    ^
cc1: all warnings being treated as errors objs/Makefile:1210: recipe for target 'objs/addon/src/ngx_http_modsecurity_rewrite.o' failed make[1]: *** [objs/addon/src/ngx_http_modsecurity_rewrite.o] Error 1 make[1]: Leaving directory '/usr/local/src/ModSecurity/nginx-1.10.3' Makefile:14: recipe for target 'modules' failed make: *** [modules] Error 2
I followed this link

Anyone can help me with that?

I repeated the steps but with older modsecurity version 2.9, and the same issue appears.

Hi @ahmedelfaleh, it is very likely that you have multiple versions of nginx on your system and the make modules are using the wrong one. Is your nginx installed via compilation or installation package?

My nginx installed within an installation script of BigBlueButton.
It's installation package

you have to get the exact same source code that as used in this script.

Do you mean that I need to re-compile the same nginx version again, while I have existed one?

you have to use the same source files that you have used to compile the one that you have installed. also, you may need to use the exact same configuration flags.

I think that I have to uninstall the exist nginx and compile the same version from the source code.
If yes, I am worry of make the BigBlueButton stop working, because I don't know what flags I should use, and also worry if BigBlueButton is some how compatible with the existed nginx.
I am confuse of how to do that.

I am afraid I can't help with the specificities of BigBlueButton as I am not familiar with it. The process to compile the ModSecurity module is no different from other modules. Do they have documentation on how to add an extra module?

Unfortunately BBB doesn't mention anything regarding this needs.
I think that I need to use ModSecurity v2.9 not v3 because the nginx as you see is v1.10.x.
I will let you know if i fix it.

sed -i 's|ngx_inet_get_port(connection->sockaddr|htons(((struct sockaddr_in *) connection->sockaddr)->sin_port|' /opt/ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c
sed -i 's|ngx_inet_get_port(connection->local_sockaddr|htons(((struct sockaddr_in *) connection->listening->sockaddr)->sin_port|' /opt/ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c

Anyone can help me with that?

https://github.com/SpiderLabs/ModSecurity/issues/2285#issuecomment-605604085

Anyone can help me with that?

sed -i 's|ngx_inet_get_port(connection->sockaddr|htons(((struct sockaddr_in *) connection->sockaddr)->sin_port|' /opt/ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c
sed -i 's|ngx_inet_get_port(connection->local_sockaddr|htons(((struct sockaddr_in *) connection->listening->sockaddr)->sin_port|' /opt/ModSecurity-nginx/src/ngx_http_modsecurity_rewrite.c


Feat: add custom host cli option

Add optional custom host cli option
Checklist

[x] Tests have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce
Add optional custom host cli option to allow to listen to another host than <IP_ADDRESS>
What is the current behavior
Currently fastify

.listen binds to the local host, localhost, interface by default (<IP_ADDRESS> or ::1) [...]
when the host is not specified

This is an issue to easily deploy prism or run it inside docker.
If this is a feature change, what is the new behavior
This PR introduce an optional --host / -h prism cli option that will be passed to '@stoplight/prism-http-server' & then fastify .listen, thus allowing to listen to specific host or '<IP_ADDRESS>'
Does this PR introduce a breaking change
No.
Other information
It could be interesting to reproduce the fastify note https://github.com/fastify/fastify#note in the readme.

@adriengibrat thank you! Can you add that note too? Save me doing up a whole PR

I'll add the note I was being lazy 😴
Thank you for this PR!


Lock metadata: If address is not the owner of the NFT, hide button LOCK METADATA

If address is not the owner of the NFT, hide button LOCK METADATA

change: hide Lock Icon component. need confirm @nad128668


Dockerize the app

I'd like to Dockerize this app with a Dockerfile and docker-compose.yml file.  This would make the setup process quicker and more efficient than the current Vagrant setup.

This sounds like an improvement to me. Go for it.

Scope out https://github.com/bitnami/bitnami-docker-rails as a good, well-maintained base image to use. Let 'er rip!

We've done away with Vagrant/Docker and went back to the basics, a plain-ol' RoR app w/PostgreSQL dependency.
refs #316


Speed-up secp256k1 by using endomorphism

Hello Albertobsd! Please tell me how you can add lambda and beta to code " keysubtracter" for endomorphism on the secp256k1 curve?
To speed up the scalar multiplication process via the random function -R
Here are some examples of JeanLucPons' work, but unfortunately I do not know the C ++ language, so I ask for help!
https://github.com/JeanLucPons/VanitySearch/blob/1bc508a19e2066777f3fb1a020f68f8705daf0f4/main.cpp#L255
void reconstructAdd(Secp256K1 *secp, string fileName, string outputFile, string privAddr) {

  bool compressed;
  int addrType;
  Int lambda;
  Int lambda2;
  lambda.SetBase16("5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72");
  lambda2.SetBase16("ac9c52b33fa3cf1f5ad9e3fd77ed9ba4a880b9fc8ec739c2e0cfc810b51283ce");

  Int privKey = secp->DecodePrivateKey((char *)privAddr.c_str(),&compressed);
  if(privKey.IsNegative())

https://github.com/JeanLucPons/VanitySearch/blob/1bc508a19e2066777f3fb1a020f68f8705daf0f4/Vanity.cpp#L285
beta.SetBase16("7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee");
lambda.SetBase16("5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72");
beta2.SetBase16("851695d49a83f8ef919bb86153cbcb16630fb68aed0a766a3ec693d68e6afa40");
lambda2.SetBase16("ac9c52b33fa3cf1f5ad9e3fd77ed9ba4a880b9fc8ec739c2e0cfc810b51283ce");

Speed-up secp256k1 by using endomorphism https://paulmillr.com/posts/noble-secp256k1-fast-ecc/
https://gist.github.com/paulmillr/eb670806793e84df628a7c434a873066

Sorry bro i don't k know

I will opent this issue, I need to check those codes to understand what it is about


Rewrite database name in jdbc url

 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.humengyu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

/run-all-tests


Move ContextUtils to io.opencensus.trace.unsafe package.

/cc @songy23 @dinooliva

You have to make methods public. It is fine because this is in an unsafe package.

Sorry, I forgot to build the branch.  I split ContextUtils into two classes to avoid exposing the internal methods.  Is that okay, or would you rather also expose the other utility methods?  I added this commit:
Put CONTEXT_SPAN_KEY in a separate class, to avoid exposing methods in ContextUtils.
After this commit, ContextUtils is split into two classes,
io.opencensus.trace.unsafe.ContextUtils and
io.opencensus.trace.CurrentSpanUtils.  ContextUtils has one public member,
CONTEXT_SPAN_KEY.  CurrentSpanUtils has internal methods for working with the
current Span, and it is package-private.

Codecov Report

Merging #421 into master will decrease coverage by 0.04%.
The diff coverage is 77.77%.

@@             Coverage Diff              @@
##             master     #421      +/-   ##
============================================
- Coverage     90.12%   90.07%   -0.05%
  Complexity      577      577
============================================
  Files            98       99       +1
  Lines          2025     2026       +1
  Branches        210      210
============================================
  Hits           1825     1825
- Misses          146      147       +1
  Partials         54       54

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/io/opencensus/trace/ScopedSpanHandle.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

api/src/main/java/io/opencensus/trace/Tracer.java
100% <100%> (ø)
7 <4> (ø)
:arrow_down:

.../java/io/opencensus/trace/unsafe/ContextUtils.java
50% <50%> (ø)
1 <1> (?)

...ain/java/io/opencensus/trace/CurrentSpanUtils.java
87.5% <66.66%> (ø)
2 <2> (?)

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 67582d5...1b3a5d6. Read the comment docs.


Failure packaging google-cloud-cpp

Does this issue affect the google-cloud-cpp project?
Yes, this is about packaging google-cloud-cpp
What component of google-cloud-cpp is this related to?
This is related to the google-cloud-cpp installation
Describe the bug
I am following the instructions reported in doc/packaging.md,
after installing all dependencies (on Ubuntu 22) compilation seems to complete successful,
instead the installation command fails (cmake --build cmake-out --target install)
To Reproduce
Steps to reproduce the behavior:
cmake -H. -Bcmake-out -DBUILD_TESTING=OFF -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF
(this completes successfully)
cmake --build cmake-out --target install
[  1%] Built target googleapis_download
external/googleapis/CMakeFiles/google_cloud_cpp_api_backend_protos.dir/build.make:82: *** target pattern contains no '%'.  Stop.
gmake[1]: *** [CMakeFiles/Makefile2:604: external/googleapis/CMakeFiles/google_cloud_cpp_api_backend_protos.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
Expected behavior
I expect the installation to complete and have the libraries available in my system.
Operating system:
Ubuntu 22 LTS
What compiler and version are you using?
gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)
What version of google-cloud-cpp are you using?
Latest code from github: 85d0855afbaa55580c429bec8c76ee9e5e4e532c
Additional context

Thank you for the detailed bug report and for the build file.  I am not able to reproduce the problem, my build completed without problems.  FWIW, I used the dockerfile in #8957 to install the dependencies of google-cloud-cpp.
I noticed a significant difference is the build.make file.  Your version reads:
external/googleapis/google/api/backend.grpc.pb.cc: external/googleapis/src/googleapis_download/google/api/backend.proto
external/googleapis/google/api/backend.grpc.pb.cc: _protobuf_PROTOC_EXECUTABLE-NOTFOUND
external/googleapis/google/api/backend.grpc.pb.cc: gRPC::grpc_cpp_plugin-NOTFOUND
	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Running gRPC C++ protocol buffer compiler on /home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis/src/googleapis_download/google/api/backend.proto"
	cd /home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis && _protobuf_PROTOC_EXECUTABLE-NOTFOUND --plugin=protoc-gen-grpc=gRPC::grpc_cpp_plugin-NOTFOUND --grpc_out=/home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis --cpp_out=/home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis --proto_path /home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis/src/googleapis_download --proto_path /usr/include /home/cardigliano/nProbe/projects/gcloud-pubsub/google-cloud-cpp/cmake-out/external/googleapis/src/googleapis_download/google/api/backend.proto

Mine reads:
external/googleapis/google/api/backend.grpc.pb.cc: external/googleapis/src/googleapis_download/google/api/backend.proto
external/googleapis/google/api/backend.grpc.pb.cc: /usr/local/bin/protoc-<IP_ADDRESS>
external/googleapis/google/api/backend.grpc.pb.cc: /usr/local/bin/grpc_cpp_plugin
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/workspace/cmake-out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Running gRPC C++ protocol buffer compiler on /workspace/cmake-out/external/googleapis/src/googleapis_download/google/api/backend.proto"
        cd /workspace/cmake-out/external/googleapis && /usr/local/bin/protoc-<IP_ADDRESS> --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin --grpc_out=/workspace/cmake-out/external/googleapis --cpp_out=/workspace/cmake-out/external/googleapis --proto_path /workspace/cmake-out/external/googleapis/src/googleapis
_download --proto_path /usr/local/include /workspace/cmake-out/external/googleapis/src/googleapis_download/google/api/backend.proto

That indicates (to me) that CMake was not able to find protoc in your environment, and could not find grpc_cpp_plugin either.

Did you install Protobuf and gRPC?
If so, are they in a location that your cmake configuration step (cmake -H. -Bcmake-out -DBUILD_TESTING=OFF -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF above) can find them?
Did you install them with the necessary CMake support files?

Hopefully that can help you fix the problems.  If not, please send us all the steps you used to install the dependencies, a Dockerfile would be great, but any form that is convenient for you can be made to work.

Looks more like a question to me, we can change it back to a bug once we reproduce the problem.

It seems that using the Dockerfile fixed the compilation, even if it is installing many dependencies from source code which is not my preferred solution, but it works :-) Thank you!

Using pre-built binaries is my (personal) preference too, unfortunately the version of Protobuf and gRPC shipped with Ubuntu (even Ubuntu:22.04) are just too old for our needs.


@alloy - Add EOY artist list to home and artists page for admins only

You can also use this server component to pull data for the individual artists page.

Bump

Rocking 👏


Add option to use "cordon" instead of "drain" for k3s upgrades

This PR adds a new variable system_upgrade_use_drain (default true), which represents the current default behaviour to advise system-upgrade-controller to drain nodes before performing a k3s upgrade.
When set to false the agent plan will be configured to cordon nodes during upgrades, which prevents that new pods are scheduled but keeps all existing pods running on that node.
This may be useful if you have pods which are known to start slowly, e.g. because they have to mount volumes with many files which require to get the right security context applied.
Nothing has changed for the server plan, which uses cordon anyway.

@mysticaltech Sorry, I messed up this PR a bit. It's actually one commit, but I pushed it on my master by accident, then reverted it but created the branch again on my new master, which of course had the original and the reverted commit (very clever of mine...). Feel free to squash this on merge (if you accept my change).

How do you apply this to an existing cluster? Looks like there's a missing trigger on the kustomization resource?

@jhass Yes, it's probably missing triggers. However to apply, just kubectl get the system upgrade controller plans, use kubectl get crds | grep plan to find the exact name. And output it to yaml, edit it the same way that this PR does in the diff and reapply. If you have access to chatgpt or claude.ai it can help you do this in less than five minutes.

I'm aware I can do it manually. That's however not the point of using Terraform to me :)

@jhass
I am with you that it would be great, if such changes would apply automatically to existing clusters. But I have to admit, that I do not have a clue how to accomplish that. The way manifests are applied (by copying them to a CP node and import them there) is not really straight forward for me ;). Although I probably understand why this is necessary: overcoming the chicken / egg problem of kubernetes provider configuration, when creating a new cluster.
@mysticaltech
Do you have any advice for me how to add such a trigger? I'll be happy to provide a PR for that. BTW: thanks for merging this one :)

Probably this resource needs to be split into the steps that are really for init-only and the ones that can be re-applied. Then the triggers map for the update-able one need to either include all the template parameters, or using terraform_data instead of the deprecated null_resource,  extracting the rendered template into a local and passing it through its input var into the provisioner (via self).


Idea codestyle

Guys, how about commiting code style config for favorite editors and let the files be formatted by them instead of using google-java-format plugin?
Here I took official google code style for idea (https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml) and stored it within the project config.
Also tested a fresh clone - the code style is picked up without any problems.

if it works, then I'm all for it.
This google-java-format formatting often causes code merging problems.

I can confirm it's working, but feel free to test

Yes, exactly


Add auto-label workflow to GitHub Actions

This replaces the auto-label functionality that @tfdocsbot currently provides. It's hopefully more maintainable than my own personal bot 🤖
It uses actions/labeler@v2 to apply language labels based on directory.
And it adds the "lgtm" label to indicate community approval (not maintainer approval) through a pull request approval or a comment that contains "lgtm".
Tested here: https://github.com/lamberta/tf-docs-l10n/pull/14

The end of tfdocsbot begins!


add pod labels

What this PR does / why we need it:

adds pod labels

/ok-to-test

/test e2e v1.9

/test e2e v1.9

/test e2e v1.9

Seems reasonable to me given we already have podAnnotations!
/lgtm
/approve

/release-note-none


Tapping the checkbox in settings shows the dialog but makes the change anyway

From @Hixie on June 29, 2015 19:23
@collinjackson
Copied from original issue: domokit/mojo#281

Collin and I discussed this. We should fix this when we fix the gesture system to have gesture negotiation. The menu item and the checkbox would both try to get a tap, and only one would win.

https://github.com/domokit/sky_engine/pull/436 addressed this bug in a slightly different way at @abarth's suggestion.


inc: fix a few typos in comment

This change fixes a few typos in inc/tainetworkif.h.

thanks! merged.


Shall we replace InfoPath with Access Application for SharePoint?

Thank you for reporting an issue or suggesting an enhancement. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.
Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Migrate InfoPath forms to SharePoint 2013 mentioned that we can replace our InfoPath forms with Access applications. However, I found that there is a report said that Access services will be end-of-life in next SharePoint release. Is this Access services equal to Access applications? If so, Shall we remove the recommending of replacing InfoPath forms with Access applications?

Thanks for your feedback
this forum is primarily for development question and issues on SharePoint Ecosystem (SPFx, Rest, CSOM).
the question you posted is super valid but outside of the control boundaries of this forum / issues list.
We recommend to follow up in UserVoice for this issue.


Linting - require returns, params

It is now an error (lint error) not to define a return

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14719/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14719/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14719/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14719/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14719/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14719/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14719/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14719/merge#BCU1XR#0

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14719/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.


Set up CircleCI continuous testing

This will automatically run all unit and UI tests as the master branch is updated.

Note: this should work on all repos and not just on master.
I can't help with this either because I don't have admin on this repo.

@larrysalibra this does work on all repos--the circleCI dashboard shows tests being run for commits on any branch. Its just that not all branches have the right config.yml file. That one is in develop right now, will be merged into master with the rest of the updates for 0.2.0.

Resolved with 6803e48


Coverage report in xml

Current coverage is 46.41%

Branch #3 has no coverage reports uploaded yet.

No diff could be generated. No reports for master found.

Powered by Codecov. Updated on successful CI builds.


python310Packages.mesa: 1.1.1 -> 1.2.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.mesa is: An agent-based modeling (or ABM) framework in Python
meta.homepage for python310Packages.mesa is: https://github.com/projectmesa/mesa
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.2.0 with grep in /nix/store/briahbzpl3r70iim3966by44x02ql416-python3.10-mesa-1.2.0
found 1.2.0 in filename of file in /nix/store/briahbzpl3r70iim3966by44x02ql416-python3.10-mesa-1.2.0

Rebuild report (if merged into master) (click to expand)

18 total rebuild path(s)

18 package rebuild(s)

First fifty rebuilds by attrpath
chirp
displaycal
grass
kicad-small
kicad-unstable-small
meerk40t
metamorphose2
playonlinux
python310Packages.kicad
python310Packages.mesa
python310Packages.wxPython_4_1
python310Packages.wxPython_4_2
python311Packages.kicad
python311Packages.mesa
python311Packages.wxPython_4_1
python311Packages.wxPython_4_2
qgis
qgis-ltr

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/briahbzpl3r70iim3966by44x02ql416-python3.10-mesa-1.2.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.mesa https://github.com/r-ryantm/nixpkgs/archive/7b750360d7bff6a0fe7733f3502d604ddfa013c0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/briahbzpl3r70iim3966by44x02ql416-python3.10-mesa-1.2.0
ls -la /nix/store/briahbzpl3r70iim3966by44x02ql416-python3.10-mesa-1.2.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @dpaetzel for testing.

@ofborg build chirp displaycal grass kicad-small kicad-unstable-small meerk40t metamorphose2 playonlinux python310Packages.kicad python310Packages.mesa python310Packages.wxPython_4_1 python310Packages.wxPython_4_2 qgis qgis-ltr


Reduce

Coverage remained the same at 100.0% when pulling c8071a4e8dd5ab7e12220dfddecb5ebd847bdbf9 on alejonext:patch-1 into a7aef9d9f928e2c2549a2f2052f0e7793b939f65 on vkarpov15:master.

What's the reason for this change? I'm a little hesitant to merge because the commit history for this repo is an important part of a blog post and I don't want to clutter it


composable functions with optional arguments lead to duplicate operationId

consider the two follow endpoints:

/drives/{drive-id}/items/{driveItem-id}/workbook/worksheets/{workbookWorksheet-id}/range(address=''{address}'')/resizedRange(deltaRows={deltaRows},deltaColumns={deltaColumns})
/drives/{drive-id}/items/{driveItem-id}/workbook/worksheets/{workbookWorksheet-id}/range()/resizedRange(deltaRows={deltaRows},deltaColumns={deltaColumns})

Get the same operation Id: drives.drive.items.driveItem.workbook.worksheets.workbookWorksheet.range.resizedRange
This results in an invalid OAS description.
As far as I know, the only thing that depends on operation ids anymore on our end is PowerShell generation. But this is likely not impacting PowerShell since, as far as I know, we're stripping all functions out when slicing the description for PowerShell.
I believe the solution here would be to come up with a convention when the parameter is expanded, so the first endpoint Id should in fact be something like this:
drives.drive.items.driveItem.workbook.worksheets.workbookWorksheet.rangeByAddress.resizedRange

I think a simpler solution would be to:

Identify whether the operation is part of a composable function path.
If the above is true, check whether either of the operation segment has parameters
If the above is true, create a path hash based on the operation path and add it as a suffix to the operation id. For example, the operation Id of the 1st endpoint could be: drives.drive.items.driveItem.workbook.worksheets.workbookWorksheet.range.resizedRange-d7ec and the second endpoint:  drives.drive.items.driveItem.workbook.worksheets.workbookWorksheet.range.resizedRange-a1b3

This will be consistent with how we disambiguate .../$count paths operation ids, for example: /drives/{drive-id}/items/{driveItem-id}/workbook/worksheets/$count --> drives.items.workbook.worksheets.GetCount-98c0


fuzz-b00m-friendly.txt: remove two keywords spotted by WAF

(Path Traversal attempts I suppose)

Yes : it was a WAF provided by Akamai :)

looks like the file triggered the check, can you please remove the last new line?

This may be worth reporting upstream ~ https://github.com/Bo0oM/fuzz.txt/blob/master/fuzz.txt

Ah! Following on from db6c2860859fc6da13e954d00cb89ef10d1f4776
Fuzzing/fuzz-Bo0oM-friendly.txt is meant for fuzz-Bo0oM.txt: "WAF friendly" version.
Cool

Thanks @cosad3s


feat: Add documentation, clean up the code, and add utility functions

This change is

bors r+


Reconsider elm-hasher being spread out over several files

Currently the elm-hasher code is spread out over several files as libraries. These aren't really libraries, and when elm hasher is compiled, each library file adds a fair bit of time to the process. I propose refactoring elm-hasher into one, well organised file, and seeing if this improves compilation times, and helps make the code more readable. It should be possible to make the code flow fairly logically too.

The modules used don't need to be libraries; however, it makes sense for them to be kept as independent modules. The source structure for elm-hasher has been updated to reflect this in commit 887f350.


add "alphabet works" test to scrabble-score

So, I'm working my way through the rust track, and have a minor nitpick with the scrabble exercise.
After passing all tests, the program still doesn't score all letters of the (English) alphabet. A few letters are not tested by any testcase.
I submitted a pull-request to add an alphabet test over at the rust track, but the kind maintainers of the rust-track where of the opinion this should be discussed "upstream", i.e. here, first, since:
a) this would be useful for all languages
b) the alphabet is not a valid scrabble word, and such cases were specifically excluded/removed historically. Reinserting a non-word testcase thus may not be desirable.
So:
question 1) should we have any test that verifies the alphabet
question 2) would it be OK to have a test that checks "score("abcdefghijklmnopqrstuvwxyz") == 87"

+1 for having a test that covers all of the letters, that makes sense to me
You could either accomplish that with the test you're suggesting or have a test that scores 26 times once for each letter of the alphabet.

Yes.
Yes.

The advice you have gotten already in that thread is good, the Rust track maintainers who replied to you are also active here.

OK! Thanks for the feedback!
You can expect a pull-request for data-common.json soon-ish.

It seems better for completeness of the tests that all the letters should be tested.
The old reason for doing non-alphabet words was #86. If we have changed our minds since then and/or think the alphabet is nevertheless a good idea, let's get it added. I have no argument to offer for either side on this.

Testing for all letters seems like a sensible test to add.

I think it depends on what we want students to learn here. Even with a partial list of letters the 'scoring' algorithm is done. And that algorithm is the interesting part, I think. Adding more letters is just configuration and I don't think it adds anything to the learning.

The algorithm is definitely the hard part, I agree.
As for learning goals: there is something to be said for teaching completeness, and that you always overlook something.
The discipline and effort to 'wrap up' and do the 'boring parts' is where I spend most of my time at $DAYJOB.
Example here: I only noticed I was missing letters when I updated my docstring to match the README, and noticed that an entire arm (8 pts) was missing from my implementation. I implicitly assumed, after so many words ("oxyphenbutazone" even!) I'd have everything.

If we can have the test expose missing logic/edge cases, like the ones you found, then I'm all for it.


Jobs Take Increasingly Longer to Start as More Data is Added to the Repo

Running on Beta 2, I have noticed that as the amount of data in a repo increases, the time it takes for a job to actually start also increases (and pretty significantly). The number of commits in the repo may play a role as well; I haven't controlled for that in my testing.
I have a pipeline with a glob pattern of / so every file in the root of the repo is taken together as a single datum. During my testing, I have uploaded (via pachctl put file) 20,000 files at a time until the repo contains 200,000 files (thus, 10 commits). After each upload was completed, pachctl list job would show something like the following:
ID                               PIPELINE     STARTED DURATION RESTART PROGRESS  DL UL STATE
85f3bd85f508411bbf451d7350d7920c benchmarking -       -        0       0 + 0 / 0 0B 0B -

The job would sit like that for a while before eventually transitioning into the running state and displaying something other than "-" in the STARTED column. Each job took longer than the previous one to transition.
Once my test set had completed, I ran pachctl update pipeline -f benchmarking.json --reprocess specifically to capture logs for this ticket.  I observed the job sitting in this limbo-like hyphenated state for ~7 minutes. During this time, I was tailing some of the logs, and in the pipeline's storage log (attached) I noticed one particular call to InspectCommit which took about 5 and a half minutes to complete. Once the job finally transitioned into the "running" state, it only took about 4 minutes to run.
storage.log

Are the file paths randomly generated in this workload?  We compact pretty aggressively right now which is not good for a workload that adds files evenly distributed across the key space because it can involve rewriting a lot of data. We have a fixed delay configuration that we will probably want to bump up higher and expose so it can be tuned to the workload.

@brycemcanally - No, all of the files exist at the root of the repo.

Yeah, but how are the actual file paths for the files in the root directory generated? The order in which the files get into the root directory matters in terms of what object storage chunks will get created during compaction.

I'm not sure I completely understand what you're asking.  So on my local disk I have a directory called "runtests-temp", into which I copy whatever files I want to upload into the repo. For these particular tests, I start with a series of image files named 000001.jpg all the way up to 020000.jpg (the first 20,000 files) and I load them to the repo by doing pachctl put file -r bench@master:/ -f ./runtests-temp. After the pipeline kicks off and runs, my script empties the runtests-temp directory, and copies in the next batch of files to be loaded (in this case 020001.jpg through 040000.jpg).  This continues until there's 200,000 files in the repo, all sitting at the root level - so there's no path per se, unless you count "/" as a path.


[bug] path.html split error with undefined path

Description

We got error on this.get(path) when path is undefined

Live Demo

http://jsbin.com/fipavab/edit?html,console

same issue with this.get(null)

I would consider this an issue in the user code, rather than an issue in the library code. These APIs should not be called with non-{strings,arrays}.


Discord voice connecting

Issue
Hello.
Discord When connecting via OpenVPN, the message Connecting
The OpenVPN server uses the UDP port 11949
OS: Debian 9 x86_64

Linux debian-2gb-fsn1-1 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64

This problem occurs if you connect via OpenVPN for Android, Linux, Windows.

If you disable OpenVPN then everything works

Log console Discord Web Version:

[RTCControlSocket] [CONNECT] wss://eu-west956.discord.gg/
[RTCConnection(178214961477189632)] Connecting to RTC server wss://eu-west956.discord.gg/.
[WS CLOSED] (false, 0, The connection timed out after 20000 ms - did not receive OP_HELLO in time.) retrying in 2.84 seconds.
[RTCControlSocket] [RECONNECT] wasClean=false code=0 reason=The connection timed out after 20000 ms - did not receive OP_HELLO in time.
[RTCControlSocket] [CONNECT] wss://eu-west956.discord.gg/
[RTCControlSocket] [WS CLOSED] (false, 0, The connection timed out after 20001 ms - did not receive OP_HELLO in time.) retrying in 5.00 seconds.
[RTCControlSocket] [RECONNECT] wasClean=false code=0 reason=The connection timed out after 20001 ms - did not receive OP_HELLO in time.

Have you searched for similar issues and solutions?
https://support.discordapp.com/hc/en-us/articles/115001310031-Voice-Connection-Errors

Console output of pivpn debug
::: Generating Debug Output
:::                                     :::
::              PiVPN Debug              ::
:::                                     :::
::      Latest Commit                    ::
:::                                     :::
commit 33ed7e7012d5278162d72c3477a0d9b4345520ab
Merge: 1375fa1 30397f2
Author: redfast00<EMAIL_ADDRESS>Date:   Sat Mar 24 13:39:55 2018 +0100

    Merge pull request #502 from stan3/nonexecutable

    Changed permission bits on text files.

::: Copy saved to /tmp/debug.txt
:::

Console Output of sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s <IP_ADDRESS>/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s <IP_ADDRESS>/24 -o eth0 -j SNAT --to-source <IP_ADDRESS>

Console Output of sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m udp --dport 1900 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/23 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/20 -j DROP
-A INPUT -s <IP_ADDRESS>/19 -j DROP
-A INPUT -s <IP_ADDRESS>/22 -j DROP
-A INPUT -s <IP_ADDRESS>/22 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/20 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/22 -j DROP
-A INPUT -s <IP_ADDRESS>/22 -j DROP
-A INPUT -s <IP_ADDRESS>/23 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/21 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/22 -j DROP
-A INPUT -s <IP_ADDRESS>/24 -j DROP
-A INPUT -s <IP_ADDRESS>/20 -j DROP
-A INPUT -s <IP_ADDRESS>/20 -j DROP
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

output of sudo netstat -uanp | grep openvpn
udp        0      0 <IP_ADDRESS>:11949           <IP_ADDRESS>:*                           835/openvpn

Discord developers answer

Hey there,
I'm afraid we don't provide support for getting VPNs up and running in conjunction with Discord. I'm so sorry about the trouble, and I really wish I could help you out here.
Cheers,
Bjaker

Is it my server's problem or the discord problem?

No one can help solve the problem?

I guess your server is on an hosted network, maybe they block discord all together (but I'm not sure). You could try to install pivpn on an home server to check if it works.

When I'm connected to the VPN the internet is working.
On the home server through a VPN works Discord.

So, discord doesn't work from this specific server? Linux debian-2gb-fsn1-1 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64

yes

Is that server a vps rented from some hosting service?

This server is rented from Hetzner.
https://www.hetzner.com/cloud

Thanks for the information provided.


PLUGIN-572 - BigQuery Sink fails when the user specifies arbitrary GCS Upload Request Chunk Size

BigQuery Sink fails when the user specifies arbitrary GCS Upload Request Chunk Size
JIRA Ticket: https://cdap.atlassian.net/browse/PLUGIN-572

add a test case where actual value is correct. Usually its best practice to add happy case and multiple failure cases covering code path.

added more tests

/gcbrun


Fix: pa11y errors and issue

This issue is for fixing pa11y warnings
https://github.com/pa11y/pa11y
We want to make docsgpt more accessible

@dartpain Can you please provide the steps to regenerate the warnings ?

If no one is working on this then please assign it to me ... so I can make a valid PR to solve this issue ...

can you provide more details about it?

@dartpain Can you assign this to me

Hey could you help me how to reproduce the  error?

@dartpain assign this issue to me

When you are able, please kindly review https://github.com/arc53/DocsGPT/pull/1460


If I want to modify your skin for osu!celebrity, what credit do I have to give?

It's all in the title. I really like the skin you use for osu!celebrity, but I want to make my own version. Should I include a link to the original skin file? To this github page? To the twitch page?

Just found in the skin.ini that this is ReesesPuff's skin. Sorry about that.

Just a heads up that there's no need to give credit. The skin has a lot of re-used elements anyway.


[Bug]: Error occur when startup for json parse error.

Contact Details
No response
Is there an existing issue for this?

[X] I have searched all the existing issues

Priority
high
Current Behavior
When compass startup, JSONException happens and i see the error message attached below:

see source code at: task-metadata/src/main/java/com/oppo/cloud/meta/service/impl/ClusterConfigServiceImpl.java
Expected Behavior
as we know, http://{yarn ip}/conf will response content format as xml, but there parse with json, so error occur
Steps To Reproduce
No response
Compass Log
No response
Anything else? (Additional Context)
No response

@aib628 This is a known problem. Different versions of hadoop will return different formats. We will adapt to this problem. If you are interested, you can submit a PR and adapt according to responseEntity.getHeaders().get(HttpHeaders.CONTENT_TYPE).

@aib628 fixed.

@zebozhuang so gelivable!

@zebozhuang I found some duplicate code in : com.oppo.cloud.flink.service.impl.ClusterConfigServiceImpl#getYarnPathInfo
You can fixed it together.

@zebozhuang I found some duplicate code in : com.oppo.cloud.flink.service.impl.ClusterConfigServiceImpl#getYarnPathInfo
You can fixed it together.

PRs are welcomed. 😃

@packyan @zebozhuang I have adapt this fix to module task-flink, but clean code needed in the future.
Meanwhile, i have added support for variable attribute values to this feature, see detail at :


Fix polarity position for water_commodity

Resolves #48, @chanys or @BeckySharp whenever one of you can confirm this is a valid change let's merge this.

@kwalcock confirmed this should be okay sol I'll merge it


Regression in path segments parsing with some non-percent-encoded unallowed characters

In the copy of cow_uri found in Cowboy 1.1.0, there is a regression compared to the previous Cowboy 1.0.x URL decoding around some unallowed characters in URI path segments.
For instance, > is supposed to be percent-encoded according to RFC 3986 because it's not part of the unreserved or sub-delims sets (see parapgrahs 2.2, 2.3 and 3.3).
However, Cowboy 1.0.x accepted and handled requests with a URI containing a plain >.

Shouldn't be a problem in 2+ and you don't care much about 1.x anymore so I'll be closing this. Thanks!


[ES-425] create omnibus_build resource for executing builds

Take a look at test/fixtures/cookbooks/omnibus_build/recipes/execute.rb for example usage.
/cc @chef-cookbooks/engineering-services @oferrigni @chef-cookbooks/omnibus-maintainers

:+1: pending test issues (and I am looking forward to using this as an example to write some chefspec for the languages cookbook)

This PR has passed 'Verify' and is ready for review and approval!
Use: '@delivery approve' when code review is complete.

@delivery approve

Change: 71011196-2aa8-4147-a91c-2efa37630c15 approved by: @oferrigni

This PR has passed 'Acceptance' and is ready to be delivered!
Use: '@delivery deliver' when validated in acceptance.

@delivery deliver

Change: 71011196-2aa8-4147-a91c-2efa37630c15 delivered by: @schisamo


docs(lib-core): add more information about enabling manualIdle

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/scullyio/scully/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Other... Please describe: docs

What is the current behavior?
There is no information present about how to disable scully ready mechanism and add custom one

Issue Number: N/A
What is the new behavior?
Added information about the manualIdle flag and how to trigger the app ready event manually.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Sure thing!


Plugin: sqlite

Both Android and iOS expose sqlite. We can expose it as a service to our developers.

An internal customer asked for this. So, +1 for them :)

Found a plugin for sqlite: https://github.com/tekartik/sqflite

I think we can close this issue, because https://github.com/tekartik/sqflite exists? We have this issue labeled as "self service".

I think we can close this issue, because https://github.com/tekartik/sqflite exists?
We have this issue labeled as "self service".

👍  -- it's published as https://pub.dartlang.org/packages/sqflite

Since sqlite is just a C library it would be much simpler and produce a more consistent developer experience if it was the same library built the same way for Android and iOS. If you look at the sqflite project there are certain differences documented between the two native versions of SQLite (ios/android) because sqflite re-uses the sqlite installed in each respective OS instead of bundling it's own.
Can we have one sqlite embedded inside Flutter without all of the "native API" overhead/differences?

Perhaps that will be possible when you can add/access C/C++ to Flutter's plugins, which is this issue: https://github.com/flutter/flutter/issues/7053

@eukreign very interesting, that sounds look a good potential idea. But it's a bit different from what we are tracking in the present bug, so would you mind opening a new bug for that request?

I'm going to close this issue, as sqflite is the option we have today. It supports iOS and Android, as far as I can tell. We can reopen this issue if we need to, but for now, please use sqflite :)


[alsa] Search for alsa plugins in system directory

Is your feature request related to a problem? Please describe.
ALSA plugins reside in a local directory in the same path as libasound.so file, called alsa-lib. Those plugins get loaded by libasound.so at runtime.
However, libasound.so doesn't look for the plugins inside the system lib directory, but in the current one. This means that unless you're using pure ALSA, your binary will fail to start (since vcpkg's libasound.so will try to look for Pipewire plugins inside the vcpkg lib directory where they're not).
For example, on Fedora (which switched completely to Pipewire), an application using the [alsa] port willl always fail to start because libasound.so can't find the pipewire ALSA plugin.
Proposed solution
[alsa] should be patched to look for plugins inside the system directory (/usr/lib). However, I do not have enough knowledge to say whether this is the correct, since the plugins are more likely than not compiled for a different version of ALSA than the one in vcpkg.
Describe alternatives you've considered
Provide the alsa plugins using vcpkg as well. I'm not sure how feasible this is however.
A fix for this would be highly appreciated, as this makes the [alsa] port completely unusable on Fedora (as well as on other distros which use Pipewire).

Marked as port feature temporary.


Why SMPL rotation is 3 not 3*3?

HI., I saw there has an option, smpl 6d, why it only have 243 and 246
rotation matrix why not be 24 * 3 *3? what's this 6d stands for?

Hi @jinfagang,
All existing SMPL-Based methods directly regress 6D rotation matrix from the model (e.g., SPIN, PARE). You can find the function to transform 6d into 9d (3*3) matrix (rot6d_to_rotmat).
You can refer to this paper ( On the continuity of rotation representations in neural networks) to understand why existing SMPL-Based models use it. Thanks!

My question is why your input shape is 24x3 and 24x6, in rotation matrix, shouldn't it be 24x3x3 and 24x3x4 (rot6d is R and T)?

Sure, but 6D representation is enough. You can transform them into each other. Try it.

Please try to reshape the input of SmoothNet as [N, C, T]. C is 24*3*3. T is a window size.

@ailingzengzzz Does NxT=Seqlen?

Yes, if there is no overlap among the sliding windows.


sqlite

Any chance we can get a .db3 of this? Json dump douse not help that much

You're looking for a sqlite database? If so you can find it in the
codebase.
https://github.com/Code4SA/medicine-price-registry/blob/master/mpr.db
Is that useful?
On 10 Sep 2017 20:26, "LeRoy Gumede"<EMAIL_ADDRESS>wrote:

Any chance we can get a .db3 of this? Json dump douse not help that much
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Code4SA/medicine-price-registry/issues/32, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAZrslymQuB1kuJwJD5EUOC5bpuDqdPVks5sg9VvgaJpZM4PSTYQ
.

@adieyal Thanks, But I was looking for something little bit more structured like the dump.
mpr.code4sa.org/api/v2/dump

Sorry, not sure I understand. A csv dump is difficult as there are multiple
ingredients per medicine. You would need two separate csv files. What
exactly do you need and why does json not work for you?
On Mon, Sep 11, 2017 at 2:11 PM, LeRoy Gumede<EMAIL_ADDRESS>wrote:

@adieyal https://github.com/adieyal Thanks, But I was looking for
something little bit more structured like the dump.
mpr.code4sa.org/api/v2/dump
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Code4SA/medicine-price-registry/issues/32#issuecomment-328426358,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZrsrEDtKhMuF7K9G-EbBdZ0SBLKVnGks5shM8mgaJpZM4PSTYQ
.

--
Adi Eyal
Director
OpenUp
Promoting informed decision-making
phone: +27 78 014 2469
skype: adieyalcas
linkedin: http://za.linkedin.com/pub/dir/Adi/Eyal
web: http://www.openup.org.za
twitter: @soapsudtycoon
Follow us on twitter at @OpenUpSA
Sign up for Naked Data, our weekly round-up of what's happening
locally and internationally in data journalism and data visualisation.
Register here: https://openup.org.za/nakeddata.html

I'm doing a mobile version of the app, and offline is one of the requirements.
I tried using the JSON dump but downloading everything takes a while on mobile.
The alternative is to have a .db3 pre-installed on the app.
so I need to convert the Json dumb to .db3 (SQLite) format.

Happy to implement something if it makes sense, tell me exactly what
structure you need.
On Mon, Sep 11, 2017 at 2:32 PM, LeRoy Gumede<EMAIL_ADDRESS>wrote:

I'm doing a mobile version of the app, and offline is one of the
requirements.
I tried using the JSON dump but downloading everything takes a while on
mobile.
The alternative is to have a .db3 pre-installed on the app.
so I need to convert the Json dumb to .db3 (SQLite) format.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Code4SA/medicine-price-registry/issues/32#issuecomment-328429711,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZrsol-wXjM-Ni2dJxrXc0WI0XEqqJ6ks5shNPlgaJpZM4PSTYQ
.

--
Adi Eyal
Director
OpenUp
Promoting informed decision-making
phone: +27 78 014 2469
skype: adieyalcas
linkedin: http://za.linkedin.com/pub/dir/Adi/Eyal
web: http://www.openup.org.za
twitter: @soapsudtycoon
Follow us on twitter at @OpenUpSA
Sign up for Naked Data, our weekly round-up of what's happening
locally and internationally in data journalism and data visualisation.
Register here: https://openup.org.za/nakeddata.html

That would be great. just need a SQLite version of the json dump, I can send you a sample by end of day?

Have you looked at mpr.db?
On Mon, Sep 11, 2017 at 2:45 PM, LeRoy Gumede<EMAIL_ADDRESS>wrote:

That would be great. just need a SQLite version of the json dump, I can
send you a sample by end of day?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Code4SA/medicine-price-registry/issues/32#issuecomment-328432385,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZrsla2ISpN1Ki-0_T3stqqiMFrO_pLks5shNcbgaJpZM4PSTYQ
.

--
Adi Eyal
Director
OpenUp
Promoting informed decision-making
phone: +27 78 014 2469
skype: adieyalcas
linkedin: http://za.linkedin.com/pub/dir/Adi/Eyal
web: http://www.openup.org.za
twitter: @soapsudtycoon
Follow us on twitter at @OpenUpSA
Sign up for Naked Data, our weekly round-up of what's happening
locally and internationally in data journalism and data visualisation.
Register here: https://openup.org.za/nakeddata.html

Yes, I did, With that version, I still need to do the joins. But before you do anything,  I'll do some performance testing. I'll let you know the results.

@adieyal It's not working out well it's in SQL, I need it in SQLite .db3 format

A sample of what I mean Link to app

I'll take a look and get back to you
On 13 Sep 2017 13:35, "LeRoy Gumede"<EMAIL_ADDRESS>wrote:

A sample of what I mean Link to app
https://github.com/leroygumede/medicine-price-registry-xamarin/tree/master/medicinepricechecker/iOS/Resources
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Code4SA/medicine-price-registry/issues/32#issuecomment-329063937,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZrsgoiLqU2l6_pbqjHvbqhxwchsX45ks5sh2mRgaJpZM4PSTYQ
.


Updates "rendering" gist to show mapped users

Links to updated gist fixing an error in the use of Array.map reported
on the original gist (https://gist.github.com/fat/1575714)

up

 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.


Create per Faction Themes

Closing, in favor of color-based themes of which more and more will be added and tweaked over time.


Null-aware results in "dead code"

Dart VM version: 1.24.0-edge.a73c8d0de14d003ec02250b55f09505891edf375 (Wed Apr 19 16:47:36 2017) on "linux_x64"

I'm pretty sure the analyzer is correct. || has higher precedence than ??, so you're code is equivalent to:
if ([1]?.isEmpty ??
    (true || [2]?.isEmpty) ??
    (true || a == null && b == null) {
  return null;
}

See the following example (dartpad):
bool get fawlse {
  print('  fawlse was called');
  return false;
}

main() {
  print('DEFAULT:');
  var result = [1]?.isEmpty ?? true || fawlse;
  print('  => $result');

  print('WRAP ??:');
  result = ([1]?.isEmpty ?? true) || fawlse;
  print('  => $result (comes out to: `false || fawlse`)');

  print('WRAP ||:');
  result = [1]?.isEmpty ?? (true || fawlse);
  print('  => $result');
}

VM and analyzer:
$ dart 29402.dart
DEFAULT:
  => false
WRAP ??:
  fawlse was called
  => false (comes out to: `false || fawlse`)
WRAP ||:
  => false
srawlins-macbookair:tmp1 srawlins$ dartanalyzer 29402.dart
Analyzing 29402-2.dart...
  hint • Dead code at 29402.dart:8:40 • dead_code
  hint • Dead code at 29402.dart:16:37 • dead_code
2 hints found.

Right, I figuered that ozt in the meantime. Thanks for your feedback.


instructions to launch Registry Preview are out of date or incomplete

When I right-click on a .reg file there is no option to "Show more options"

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f4916d5a-cb72-75b4-9909-aaccbbfb9832
Version Independent ID: f4916d5a-cb72-75b4-9909-aaccbbfb9832
Content: PowerToys Registry Preview for Windows
Content Source: hub/powertoys/registry-preview.md
Product: dev-environment
Technology: powertoys
GitHub Login: @alvinashcraft
Microsoft Alias: aashcraft

Hi @AlisterH. What version of Windows are you using? In Windows 11 with the 23H2 update applied, I see "Show more options" at the bottom of the context menu when right-clicking a .reg file.

Windows 10 22H2

It looks like the instructions are only written for Windows 11, which has the "Show more options" option in the context menu. I'll add a note about using the utility in Windows 10.

Sounds like an easy fix, no?

Thanks, @Jay-o-Way for submitting a PR to address this issue. It's merged and should be live soon.
Thanks @AlisterH for bringing this to our attention.


E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/c/c-ares/libc-ares2_1.18.1-1ubuntu<IP_ADDRESS>_amd64.deb  404  Not Found

Got this error in the install dependencies step.
fatal: couldn't find remote ref if
The following additional packages will be installed:
 libaria2-0 libc-ares2
The following NEW packages will be installed:
aria2 libaria2-0 libc-ares2
0 upgraded, 3 newly installed, 0 to remove and 35 not upgraded.
Need to get 45.0 kB/1,513 kB of archives.
After this operation, 5,441 kB of additional disk space will be used.
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/c/c-ares/libc-ares2_1.18.1-1ubuntu<IP_ADDRESS>_amd64.deb  404   Not Found [IP: <IP_ADDRESS> 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  Preparing metadata (setup.py) ... done
  Building wheel for library (setup.py) ... done
I guess because it's been updated to libc-ares2_1.18.1-1ubuntu<IP_ADDRESS>_amd64.deb, but I wouldn't know how to change it so it looks for that.

Nevermind it works now.


[MM-31149] don't allow change of roles if user can't manage members

Summary
Since there is no specific control from the system console to change MANAGE_CHANNEL_ROLES it feels weird that a user can't manage users but can change its role. This PR adds a check for user being able to manage users in addition to channel roles.
Ticket Link
MM-31149

Doesn't something need to change on the server for this to be enforced there as well?

yes, you are right! I'll submit another PR for that

@hmhealey added https://github.com/mattermost/mattermost-server/pull/16566

/update-branch

/update-branch

/update-branch

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

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.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: d8561423b7ed74d673bd5dfe82931a3f8cce541d

Pull Request successfully merged
SHA: d8561423b7ed74d673bd5dfe82931a3f8cce541d


Revert "Jonmv/more restricted uri pattern"

Reverts vespa-engine/vespa#15856
Broke a unit test in a different module.

Or not ...


Netcore2.2

Hello @thiennn , have you any update for migration to .net core 2.2 ?

@mehran-mousavi everything ok, the only problem so far is build server haven't supported .net core 2.2 yet

Dear @thiennn . thanks for update. @MaherJendoubi has a new pull request for migration to 2.2. he fix build problem on travis and appveyor and fix for azure pipe line in progress and i think he fix azure problem as soon as possible ... please merge that PR after final fixs :)


vscode does not allow to type / keyboard not working inside vscode / vscode does not allow to edit files

** Keyboard is not working inside vscode **
After I updated vscode to version 1.30.2, I am not able to edit/type in any files opened in it. It just does not recognize keyboard strokes.
Describe the bug
OS and Version: OSX High Sierra
VS Code Version: 1.30.2
Extensions you installed (and if the issue persists after disabling them): Salesforce extension pack, ESLint, Python, Chrome Debugger
Does not allow to type inside editor.
vscode is a very good editor. I was seeing this error in my mac and windows machines occasionally. Usually this error went away when I restarted vscode. But this time in my Mac, it is not allowing me to edit the file at all even after multiple restarts.
Please come up with a permanent fix for this issue for all OS platforms. This is actually the only frustrating issue with vscode and makes it unusable and leaves people with no option other than than going for some other editor.
To Reproduce
Open any project folder
Open any file
Start typing inside file
Expected behavior
Typed characters should show in UI

I got the same problem. I had to use command: Developer: Reload Window.

can you try with extensions disabled? Developer: Reload with Extensions Disabled

why close the issue when it happening to almost everybody this day


Event color cannot be changed

Hi,
calender's event color not responding to any change of its IBInspectable out let, or hard-coded, no problems with other colors property.
Mind to have a look?
Thanks~

Thanks for reporting this. It's just a problem for IB preview. Fixed


Wrong track Imola

This week the Formula 1 card is showing Monza and not Imola. I have the latest version installed.

Should be corrected now