Introduce dev-docs

This PR adds a template for dev documentation.
I've recently read the Velox Developer Guide and I really think that it would be super useful to have something like that. We are far away from it, but this PR includes a couple of documents explaining Multi-stage query engine and all the machinery required to write that doc using MkDocs as well as some tips and codestyle.
The main thing this is not doing is to actually publish these pages. It should be trivial to publish this documentation in GitHub Pages, but before doing that I think it is better to see if other committers actually like the proposed mechanism.
This can also be a first step on a possible migration of the public user documentation into something that is easier to write for committers.

cc @bziobrowski

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

Project coverage is 63.64%. Comparing base (59551e4) to head (d167f62).
Report is 1268 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #14346      +/-   ##
============================================
+ Coverage     61.75%   63.64%   +1.89%
- Complexity      207     1455    +1248
============================================
  Files          2436     2660     +224
  Lines        133233   145835   +12602
  Branches      20636    22313    +1677
============================================
+ Hits          82274    92819   +10545
- Misses        44911    46148    +1237
- Partials       6048     6868     +820

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <ø> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <ø> (ø)

java-11
0.00% <ø> (-61.71%)
:arrow_down:

java-21
63.64% <ø> (+2.02%)
:arrow_up:

skip-bytebuffers-false
34.15% <ø> (-27.60%)
:arrow_down:

skip-bytebuffers-true
63.64% <ø> (+35.91%)
:arrow_up:

temurin
63.64% <ø> (+1.89%)
:arrow_up:

unittests
63.64% <ø> (+1.89%)
:arrow_up:

unittests1
55.30% <ø> (+8.41%)
:arrow_up:

unittests2
34.15% <ø> (+6.42%)
:arrow_up:

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

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


PageStorage support V1 rewrite into V2

What problem does this PR solve?
Issue Number: ref #3594
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

Closed. no need V1 -> V2 for KVStore.
Will split logic into V2 -> V3 in KVStore and meta.


Support dynamic Lint messages with variables

Now possible since messages are not defined within the Lint/Edit classes.


Update image for centos 8

What does this PR change?
Update image for centos 8 to latest.

Sorry for quick merge, we need to fix qam failure and should have no impact on the rest

Sorry for quick merge, we need to fix qam failure and should have no impact on the rest


Invalid "Java 6 applications are prevented from being deployed" error message

It'a long time I tried appengine but I when using gradlew appengineUpdate I get the below "Java 6 applications are prevented from being deployed" error despite I'm using Java 7.
I also used used:
$ javap -verbose My.class | grep "major"
  major version: 51

To verify my classes are Java 7.
I'm using Gradle 2.14.1 and Appengine 1.9.40.
400 Bad Request
Java 6 applications are prevented from being deployed to Google App Engine from any version of the SDK, including older ones. If you need to continue to deploy Java 6 applications for compatibility reasons, you can request that your application be whitelisted for Java 6 deployment by visiting http://goo.gl/ycffXq.

Yeah that looks like a pretty old code path. Perhaps you're doing something that's triggering it, but that's not the real problem. Are you using Java 8 anywhere?

Hi, do you think the same error is shown when using Java 8? The classes are Java 7 but my java home is indeed Java 8.... I'm using gradle.properties to set JDK7.

Even with JAVA_HOME explicitly set to JDK 7 and running Gradle with --no-daemon option I get the same error.
To proof this is my output for:
$ ./gradlew -v

------------------------------------------------------------
Gradle 2.14.1
------------------------------------------------------------

Build time:   2016-07-18 06:38:37 UTC
Revision:     d9e2113d9fb05a5caabba61798bdb8dfdca83719

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.7.0_79 (Oracle Corporation 24.79-b02)
OS:           Mac OS X 10.11.4 x86_64

I wonder how Google determines that it think it's running Java 6...

Perhaps it has something to do with your configuration. Can you show us
your appengine-web.xml and build.gradle (feel free to replace anything
identifying parts)
On Aug 4, 2016 14:01, "Marcel Overdijk"<EMAIL_ADDRESS>wrote:

Even with JAVA_HOME explicitly set to JDK 7 and running Gradle with
--no-daemon option I get the same error.
To proof this is my output for:
$ ./gradlew -v

Gradle 2.14.1
Build time:   2016-07-18 06:38:37 UTC
Revision:     d9e2113d9fb05a5caabba61798bdb8dfdca83719
Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.7.0_79 (Oracle Corporation 24.79-b02)
OS:           Mac OS X 10.11.4 x86_64
I wonder how Google determines that it think it's running Java 6...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gradle-appengine-plugin/issues/257#issuecomment-237633303,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPo-vH3nFxJMh5VWAA-BYH7E8TnZpirks5qcijygaJpZM4JcvWS
.

Nothing to hide, here is my build.gradle:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "com.google.appengine:gradle-appengine-plugin:1.9.40"
    }
}

apply plugin: "java"
apply plugin: "idea"
apply plugin: "war"
apply plugin: "appengine"

ext {
    appengineVersion = "1.9.40"
    commonsLang3Version = "3.4"
    javaVersion = "1.7"
    servletVersion = "2.5"
}

repositories {
    mavenCentral()
}

dependencies {
    appengineSdk "com.google.appengine:appengine-java-sdk:${appengineVersion}"
    compile "com.google.appengine:appengine-api-1.0-sdk:${appengineVersion}"
    compile "org.apache.commons:commons-lang3:${commonsLang3Version}"
    providedCompile "javax.servlet:servlet-api:${servletVersion}"
}

appengine {
    disableUpdateCheck = true
    downloadSdk = true
    httpPort = 8088
    jvmFlags = [
            "-Ddatastore.backing_store=${projectDir}/local_db.bin"
    ]
    appcfg {
        noCookies = true
        oauth2 = true
        app {
            id = "fb-hilo-test"
        }
    }
}

clean {
    delete "local_db.bin"
}

compileJava {
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
}

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
        inheritOutputDirs = false
        outputDir = file("${buildDir}/classes/main")
        testOutputDir = file("${buildDir}/classes/test")
    }
}

task wrapper(type: Wrapper) {
    description = "Generates gradlew[.bat] scripts."
    gradleVersion = "2.14.1"
}

gradle.properties contains:
org.gradle.daemon=false
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

And my app.yaml:
application: fb-hilo-test
version: 1
runtime: java
sessions_enabled: false
threadsafe: true

handlers:
  - url: /heartbeat
    name: heartbeatServlet
    servlet: com.github.marceloverdijk.fb.hilo.servlet.HeartbeatServlet
    login: admin
  - url: /webhook
    name: webHookServlet
    servlet: com.github.marceloverdijk.fb.hilo.servlet.WebHookServlet

error_handlers:
  - file: default_error.html

static_files:
  - include: /assets/**
  - include: /default_error.html

system_properties:
  java.util.logging.config.file: WEB-INF/logging.properties

The code is on github: https://github.com/marceloverdijk/fb-messenger-hilo-game
Thanks for help!

I also noticed the Gradle plugin is at 1.9.40 but appengine itself already on 1.9.42 but don't think that should be an issue in my case.

So you've built an appengine project with only an app.yaml and no
appengine-web.xml? Do you know which step is error in out on you
appenineStage or appengineDeploy? "Runtime: Java" may not have the meaning
you expect to here in the app.yaml, usually standard appengine apps have
runtime java7 or their app.yaml is generated from appengine-web.xml. Did
you reference a specific example or document when building this project?
On Aug 4, 2016 14:07, "Marcel Overdijk"<EMAIL_ADDRESS>wrote:

The code is on github: https://github.com/marceloverdijk/fb-messenger-
hilo-game
Thanks for help!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gradle-appengine-plugin/issues/257#issuecomment-237635155,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPo-u05tEMaT6_5NTTthKBfYZNt9CTgks5qcipygaJpZM4JcvWS
.

I think it's the other way arround, app.yaml is used to generate the appengine-web.xml, at least ages ago when I used appengine.
In my target folder I indeed have appengine-web.xmlcontaining:
<!-- Generated from app.yaml. Do not edit. -->
<appengine-web-app xmlns='http://appengine.google.com/ns/1.0'>
  <application>fb-hilo-test</application>
  <version>1</version>
  <runtime>java</runtime>
  <static-files>
    <include path='/assets/**'/>
    <include path='/default_error.html'/>
  </static-files>
  <resource-files>
  </resource-files>
  <ssl-enabled>true</ssl-enabled>
  <precompilation-enabled>true</precompilation-enabled>
  <threadsafe>true</threadsafe>
  <code-lock>false</code-lock>
  <sessions-enabled>false</sessions-enabled>
  <system-properties>
    <property name='java.util.logging.config.file' value='WEB-INF/logging.properties'/>
  </system-properties>
  <warmup-requests-enabled>false</warmup-requests-enabled>
  <static-error-handlers>
    <handler file='default_error.html'/>
  </static-error-handlers>
</appengine-web-app>

runtime: java7 (instead of runtime: java) did the trick.
Maybe that has been changed since I used appengine last time...
I have an old app using 1.9.26 which used runtime: java without problems.

Thanks again for the help!

I'm not really sure the app.yaml -> appengine-web.xml is encouraged much. @patflynn ?

I really like it :-) to avoid xml as much as possible

@ludoch
yeah my understanding is that the Java App Engine Standard runtime toolchain requires doing configuration in the appengine-web.xml. We don't really support the app.yaml -> appengine-web.xml conversion flow anymore, and you definitely can't have the configuration in both file types.  I do not know however whether you can simply use app.yaml directly from a standard app.  I'm not sure if the staging command supports that.

Hmm, I have only an app.yaml and it seems to work, both servlets defined in my app.yaml are active..


Page sections from Usability

[ ] Is it possible to add a left-hand navigation between Recent changes and All time?
[ ]  Increase space between sections

For first, do you mean a table of content kind of navigation?

Ping @notconfusing

Here is how I imagined it:

@vivekiitkgp

Done, thanks @vivekiitkgp


Pip pkg

starting a PR for a packaged up diploshic. take a look @dschride

Just a few problems found. First up, following the instructions from https://test.pypi.org/project/diploSHIC/0.3333/, had this issue:
$ pip install tensorflow
ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

worked around using conda to install tensorflow and keras.
Next problem:
$ python diploSHIC.py -h
python: can't open file 'diploSHIC.py': [Errno 2] No such file or directory

failed workaround:
$ diploSHIC.py -h
/Users/dan/anaconda3/envs/testdiploshic/bin/diploSHIC.py: line 1: import: command not found
/Users/dan/anaconda3/envs/testdiploshic/bin/diploSHIC.py: line 3: pyExec: command not found
/Users/dan/anaconda3/envs/testdiploshic/bin/diploSHIC.py: line 5: syntax error near unexpected token `('
/Users/dan/anaconda3/envs/testdiploshic/bin/diploSHIC.py: line 5: `    diploShicDir = "/".join(sys.argv[0].split("/")[:-1]) + "/"

worked around with this by setting $PathToDiploSHIC to the result of which diploSHIC.py. So this now works:
python $PathToDiploSHIC/diploSHIC.py -h
Also successfully trained a model after these workarounds.

ack don't follow those directions! pypi is just copying the readme... instead try this in a clean conda env
 python -m pip install --extra-index-url https://test.pypi.org/simple/ diploSHIC==0.3333

i've put the pip package on the test pypi server only for now

That is the pip command I used to install. So that's not the issue. Anyway, here is what happens when I do as you say above:
$diploSHIC train $dataPath/training/ $dataPath/testing/ test.mod
-bash: diploSHIC: command not found

$ diploSHIC.py train $dataPath/training/ $dataPath/testing/ test.mod
$ $PathToDiploSHIC/diploSHIC.py: line 1: import: command not found
$PathToDiploSHIC/diploSHIC.py: line 3: pyExec: command not found
$PathToDiploSHIC/diploSHIC.py: line 5: syntax error near unexpected token `('
$PathToDiploSHIC/diploSHIC.py: line 5: `    diploShicDir = "/".join(sys.argv[0].split("/")[:-1]) + "/"'

$ python  $PathToDiploSHIC/diploSHIC.py train $dataPath/training/ $dataPath/testing/ test.mod
Using TensorFlow backend.
loading data now...

(Warnings omitted from output.)
Anyway, seems like the problem could be fixed by adding a shebang to the top of diploSHIC.py. Not sure why/how it works for you!

Oh nevermind, I see the extra 3 in the version number (nice numbering!). Anyway that seems to take care of it.

Nice so it's working?

I think once we merge this change I'll do a full linting with flake8 so we can set up auto testing on GH

Yep, good to go.

okay i'm still wrestling with pypi, but i now have a pip package ready to go if you clone and install..
so try something like
conda create -n diploshic python=3.9 --yes
conda activate diploshic
git clone https://github.com/kern-lab/diploSHIC.git
cd diploSHIC
pip install .

You guys may want to take a look at #38 while you're at it--it has been open a long time.

@molpopgen do you know anything about manylinux wheels and pypi? I'm trying to get this PR to auto build and deploy and I think it's nearly there...

Yeah--see the fwdpy11 actions.  But, I think your wheels may not work unless you fix #38, too.  Right now, this package is easy to install but very difficult to use end to end.

Looking quickly over the PR, you may be missing 3 key files:
Setup.cfg
Pyproject.toml
Requirements.txt
This project is using deprecated/removed keras/tf API routines (unless those fixes are in this pr), so you need the above files to pin the key dependencies.  This is what I mean by your wheels will upload but not work for users.

So...#38 was closed but this PR doesn't contain the fix. This pr doesnt close that issue without pinning and tests to confirm that the version pinning is correct.

This project is using deprecated/removed keras/tf API routines (unless those fixes are in this pr), so you need the above files to pin the key dependencies. This is what I mean by your wheels will upload but not work for users.

Tensorflow API updates have been made so this is now compatible with up-to-date tf versions

This project is using deprecated/removed keras/tf API routines (unless those fixes are in this pr), so you need the above files to pin the key dependencies. This is what I mean by your wheels will upload but not work for users.

Tensorflow API updates have been made so this is now compatible with up-to-date tf versions

So that's great, but you will probably still need requirements/setup files to pin tf and/or keras.  These dependencies don't seem that dependable, so you probably want to pin to the current major version of both.

okay the binary downloads from test.pypi are working just fine from this PR. I'm going to merge this into master and get a versioned release


Small API improvements

This PR:

Adds overloaded dispatch method of AggregateMessageDispatcher.
Introduces utility class for working with Acks.

@yuri-sergiichuk, PTAL.


Change in make:view panels to adminlte box

We use default Laravel panel use instead adminltebox

Solved in last commit https://github.com/acacha/adminlte-laravel/commits/master

https://github.com/acacha/adminlte-laravel/commit/ad1ebc374330120eab5f09ceba34844655d795dd


Small monster UI  visibility default false.

If small monster UI is visiable, would cause the game FPS fairly drop.

Lower Update Rate in REFramework Direct2D.


Multithreaded array initialization

For better performance on systems with multiple NUMA domains. See my extensive comment on discourse.
With this PR, I get about 40% speedup for this example (with USE_GPU=false) when using a full AMD Zen3 CPU (64 cores, 4 NUMA domains) of Noctua 2.
Timings (s) before
╭───────────┬─────────┬─────────┬─────────╮
│ # Threads │       1 │       8 │      64 │
├───────────┼─────────┼─────────┼─────────┤
│   compact │ 12.8708 │ 2.42357 │ 2.43713 │
│    spread │ 12.8708 │ 2.38331 │  3.3897 │
╰───────────┴─────────┴─────────┴─────────╯

Timings (s) after
╭───────────┬─────────┬─────────┬─────────╮
│ # Threads │       1 │       8 │      64 │
├───────────┼─────────┼─────────┼─────────┤
│   compact │ 12.8762 │ 2.41895 │ 1.51899 │
│    spread │ 12.8762 │ 2.35042 │ 2.08579 │
╰───────────┴─────────┴─────────┴─────────╯

Speedup in %
╭───────────┬─────┬─────┬──────╮
│ # Threads │   1 │   8 │   64 │
├───────────┼─────┼─────┼──────┤
│   compact │ 0.0 │ 0.0 │ 38.0 │
│    spread │ 0.0 │ 1.0 │ 38.0 │
╰───────────┴─────┴─────┴──────╯

NOTES:

We see that the changes have essentially no impact on the single threaded case but give speedups when run with many threads (on a multi-NUMA domain system).
We see that if we stay within one NUMA domain (e.g. 8 threads) we don't observe a speedup (as expected).
compact and spread indicate the thread pinning strategy.
Ideally, the access pattern of the parallel initialization should match the access pattern of the stencil as much as possible. In this PR, I just do the "trivial" parallel initialization. (In principle, one could think about passing the custom user kernel to @zeros and co, analyze its structure and then initialize "accordingly". But that's difficult...)

cc @luraess @omlins
PS: Working on it at the GPU4GEO Hackathon in the Schwarzwald 😉

Thanks for the contribution. I guess having something in PS for the Threads backend to control pinning and threads to cores mapping (or have an close to optimal default solution) would be great! Especially for AMD cpus with many NUMA regions where this becomes significant.

BTW, @omlins, depending on how easy/difficult it would be to give me test access to Piz Daint I could run some benchmarks there as well.

I quickly tested another example, namely https://github.com/omlins/ParallelStencil.jl/blob/main/miniapps/acoustic3D.jl (with the visualization/animation part commented out. Same configuration as above, i.e. a 64 core node of Noctua 2 with 64 Julia threads that I pinned compactly. Below are the timings of the acoustic3D() function before and with this PR.
# Before PR: 44.315157 seconds (779.52 k allocations: 840.038 MiB, 1.09% gc time)
# With PR: 18.557505 seconds (791.20 k allocations: 840.475 MiB, 2.71% gc time)

This corresponds to about a 2.4x speedup.

This relates also to https://github.com/omlins/ParallelStencil.jl/issues/53#issuecomment-1086978245

Bump

@omlins bump


Add fmod and fmod_ to BatchedArray

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (9728535) 100.00% compared to head (61b9bf9) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #347   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines         1498      1509   +11
  Branches       166       168    +2
=========================================
+ Hits          1498      1509   +11

Files Changed
Coverage Δ

src/redcat/array.py
100.00% <100.00%> (ø)

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


Added rename_coords and rename_dims

[ ] Closes #xxxx
[ ] Tests added
[ ] Fully documented, including whats-new.rst for all changes and api.rst for new API

Hello @jukent! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/dataset.py:

Line 2281:1: W293 blank line contains whitespace
Line 2295:5: E303 too many blank lines (2)
Line 2334:5: E303 too many blank lines (2)
Line 2361:1: W293 blank line contains whitespace
Line 2372:5: E303 too many blank lines (2)

pydata#3026
There is some unexpected behavior. The new rename_dims function does not change the dimensions of the variables. Working on this now.

#3026
There is some unexpected behavior. The new rename_dims function does not change the dimensions of the variables. Working on this now.

Similarly rename_vars will rename the variable dimensions and variables, but not the dataset dimensions. I thought I was dealing with this with the _rename_indexes. But will have to keep working.

This is great! Thanks @jukent ! Ping back here if there's anything we can do to help

And tbc, we should add tests here. That will help clarify the issues above re exactly which items on the dataset each method should rename vs leave.

And tbc, we should add tests here. That will help clarify the issues above re exactly which items on the dataset each method should rename vs leave.

Yes I need to add tests, but I don't have much experience with this yet. I will ask my team here to help me.

#3026
There is some unexpected behavior. The new rename_dims function does not change the dimensions of the variables. Working on this now.

Similarly rename_vars will rename the variable dimensions and variables, but not the dataset dimensions. I thought I was dealing with this with the _rename_indexes. But will have to keep working.

This works now! But to do so I created three different renaming variable helper functions (var name only, var and dims, var dims only). I will clean this up since the majority of these three functions is the same.

@jukent check out the existing rename tests here (they're a bit over-complicated at the beginning): https://github.com/pydata/xarray/blob/master/xarray/tests/test_dataset.py#L2046-L2130
You could do something as simple as this: https://github.com/pydata/xarray/blob/master/xarray/tests/test_dataset.py#L2114-L2119 - i.e. start with a dataset, call a rename method, and compare the dataset with a manually constructed version of the expected result.
Ping back with any issues

@jukent check out the existing rename tests here (they're a bit over-complicated at the beginning): https://github.com/pydata/xarray/blob/master/xarray/tests/test_dataset.py#L2046-L2130
You could do something as simple as this: https://github.com/pydata/xarray/blob/master/xarray/tests/test_dataset.py#L2114-L2119 - i.e. start with a dataset, call a rename method, and compare the dataset with a manually constructed version of the expected result.
Ping back with any issues

Thanks @max-sixty. I added some very simple tests. I might copy more of the test_rename functions (if I tried to rename a variable to the same name for example)

Those look great!

@jukent I don't think that's our bot


Some unit tests in sparse-tools are not implemented as their expectations

Some unit tests in sparse-tools are not implemented as their expectations. For example, In the test TestSyncSmallFile4MB:

The test name suggests that file size is 4MB but the actual file size is 4KB
The data of the file in the test is all 0s. We should populate some random data into the file
Don't need to populate the same data in the file at the destination because we are testing to see if syncFile function correctly sync data to the destination file.

There are 8 tests like this

I fixed the same issue here before for a different test.
https://github.com/longhorn/sparse-tools/commit/5a6415ebe7558d3a9138d48dd4df34d18e3be8ab#diff-91180c36818a6d349ee22dafeeaa89371ac865046f94f1b4f9c4750a8ca43ba0
Good of you to write this up.

/reopen


React Router render own Component which returns dynamic Routes

I have something like this:
<Router>
   {myRoutesComponent}
</Router>

myRoutesComponent is a custom Element which returns a main Route and some child Routes. The component is connected with redux with connect. This because the routes can change over time.
But that's not working! The myRoutesComponent is not rendered at all - so no routes are initialized.
Why it's not working this way?
ps: I don't want to use the react-route dynamic url functionality. I want to define all routes by myself but dynamically based on redux data.

https://github.com/reactjs/react-router/issues/2182


The shared subscriptions and session balancing

Environment

VerneMQ Version:1.6
OS:ubuntu16
Erlang/OTP version (if building from source):21.0

Expected behavior
balance the share session

Please describe the expected behaviour.

Actual behaviour

Please include minimal steps to reproduce the issue, if possible.
I open the "allow_multiple_session=on", So that i can balance the session. But there is a problems, that i can balance the session only on one node with the same cliend_id. In fact, data from the same topic may be sent to different nodes in the cluster. So i want to subscribe the same topic on diffient node. The shared subscriptions can be used. I also want to balance the share seesion on each node(the topic like "$share/group/mqtt1").
In fact , the balance session is successed. but i can't subscribe the share topic. I don't know if that's feasible.
My config file:
allow_anonymous = on
allow_register_during_netsplit = off
allow_publish_during_netsplit = off
allow_subscribe_during_netsplit = off
allow_unsubscribe_during_netsplit = off
allow_multiple_sessions = on
queue_deliver_mode = balance
max_inflight_messages = 20
max_online_messages = 1000
max_offline_messages = 1000
max_message_size = 0
upgrade_outgoing_qos = off
listener.max_connections = 10000
listener.nr_of_acceptors = 10
listener.tcp.default = <IP_ADDRESS>:1883
listener.vmq.clustering = <IP_ADDRESS>:44053
listener.http.default = <IP_ADDRESS>:8888
listener.mountpoint = off
systree_enabled = on
systree_interval = 20000
graphite_enabled = off
graphite_host = localhost
graphite_port = 2003
graphite_interval = 20000
shared_subscription_policy = random
plugins.vmq_passwd = on
plugins.vmq_acl = on
plugins.vmq_diversity = off
plugins.vmq_webhooks = off
plugins.vmq_bridge = off
vmq_acl.acl_file = /etc/vernemq/vmq.acl
vmq_acl.acl_reload_interval = 3
vmq_passwd.password_file = /etc/vernemq/vmq.passwd
vmq_passwd.password_reload_interval = 3
vmq_diversity.script_dir = /usr/share/vernemq/lua
vmq_diversity.auth_postgres.enabled = off
vmq_diversity.auth_mysql.enabled = off
vmq_diversity.auth_mongodb.enabled = off
vmq_diversity.auth_redis.enabled = off
log.console = file
log.console.level = debug
log.console.file = /app/vernemq/log/console.log
log.error.file = /app/vernemq/log/error.log
log.syslog = on
log.crash = on
log.crash.file = /var/log/vernemq/crash.log
log.crash.maximum_message_size = 64KB
log.crash.size = 10MB
log.crash.rotation = $D0
log.crash.rotation.keep = 5
nodename =<EMAIL_ADDRESS>distributed_cookie = sf_vmq
erlang.async_threads = 64
erlang.max_ports = 262144
leveldb.maximum_memory.percent = 70
My acl file ：
#topic sf
user sf001
topic /sf/mqtt1
topic /sf/mqtt2
topic $share#

user sf002
topic #

Does this work if you disable the ACL or is the question how to configure ACL?

Thanks a lot . In fact , I can't receive message from the "$share/sf/mqtt1".  The Shared subscriptions don't appear to work as intended. I don't know how to share the subscriptions. Maybe there is something wrong with my ACL ?

Right, so first disable ACLs to make everything simpler and easier to understand. So replace the content of the acl file with topic # as it was to begin with.
Then you can start experimenting with shared subscriptions. A common pitfall is to not quote the topic if using cli tools as $share will otherwise be interpreted as a environment variable which is empty.
So if you subscribe like this: mosquitto_sub -i sub -t '$share/group1/topic'  (not the quotes around the topic!) then it should work and if you publish to mosquitto_pub -i pub -t topic -m hello you will receive the messages. If you then add more subscribers (with different client-ids) then they'll get the messages distributed between them in a random fashion.

Notice, as mentioned in the other issue that you can define different policies for your shared subscriptions which is important if you're running a cluster:

Currently three message distribution policies for shared subscriptions are supported: prefer_local, random and local_only. Under the random policy messages will be published to a random member of the shared subscription, if any exist. Under the prefer_local policy messages will be delivered to a random node-local member of the shared subscription, if none exist, the message will be delivered to a random member of the shared subscription on a remote cluster node. Under the local_only policy message will be delivered to a random node-local member of the shared subscription.

From https://docs.vernemq.com/configuring-vernemq/shared_subscriptions

sorry, closed by mistake

Thank you very much! successful! The ACL config must add the "topic #" in the first line. By the way, if i use the share subscriptions, it's means that the Session Balancing is useless?

Great it works! If by session balancing you mean allow_multiple_sessions then yes, you probably don't need that. Shared subscriptions is anyway a standard feature while allow_multiple_sessions is not.

Hi, I have a new problem with Shared subscriptions. When I use the mysql to cache the ACLs. The Shared subscriptions cann't work. I try to add a null user and passwd, to pub and sub topic "#". But it failed. So what kind of data should we add to the tables "vmq_auth_acl"?

Which authorization plugin are you using? The diversity plugins doesn't allow users without username and password IIRC.
In any case please explain in detail what you did and what the problem is - it's very hard to give helpful advice without details

Thanks a lot. We used the following guidelines https://vernemq.com/docs/configuration/db-auth.html. We want to use  MySQL authentication and authorization. It is works, but we can't use the Shared subscriptions anymore. When we use "mosquitto_sub -h localhost -t '$share/sf/mqtt1' -u sf001 -P sf001 -v" to sub this topic '$share/sf/mqtt1' . we can't receive any messages.
I gusess we have not setting the right  authentication and authorization. When we use files to  authenticate, we need add the "topic #" in first line. This means all users can receive the system topic like '$share/sf/mqtt1' ?
So we try to insert a piece of data into the table "vmq_auth_acl" which was created in Mysql. This data contains a null mountpoint, null client_id, null username, null password, but the publish_acl and subscribe_acl is " [{"pattern":"#"}] ". This sql is like : " INSERT INTO vmq_auth_acl (mountpoint, client_id, username, password, publish_acl, subscribe_acl) VALUES ('', '', '', '', '[{"pattern":"#"}]', '[{"pattern":"#"}]'); " . But it does not work.
This is the way to setting mysql plugin:

setting the vernemq config :
allow_anonymous = off
plugins.vmq_passwd = off
plugins.vmq_acl = off
allow_multiple_sessions = off

2.setting for mysql:
vmq_diversity.auth_mysql.enabled = on
vmq_diversity.mysql.host = <IP_ADDRESS>
vmq_diversity.mysql.port = 3306
vmq_diversity.mysql.user = sfapp
vmq_diversity.mysql.password = 123456
vmq_diversity.mysql.database = iot

create tabls:
CREATE TABLE vmq_auth_acl
(
mountpoint VARCHAR(10) NOT NULL,
client_id VARCHAR(128) NOT NULL,
username VARCHAR(128) NOT NULL,
password VARCHAR(128),
publish_acl TEXT,
subscribe_acl TEXT,
CONSTRAINT vmq_auth_acl_primary_key PRIMARY KEY (mountpoint, client_id, username)
)

Insert datas:
INSERT INTO vmq_auth_acl (mountpoint, client_id, username, password, publish_acl, subscribe_acl) VALUES ('', '', '', '', '[{"pattern":"#"}]', '[{"pattern":"#"}]');

INSERT INTO vmq_auth_acl (mountpoint, client_id, username, password, publish_acl, subscribe_acl) VALUES ('', 'sf001', 'sf001', PASSWORD('123'), '[{"pattern":"mqqtt1"},{"pattern":"mqtt2"}]', '[{"mqtt1"},{"mqtt2"}]');

Hi, I try to test this function "Shared subscriptions". I find that if we want sub this topic "$share/group1/topicname", we need to add appropriate authority management.  Thanks a lot .

null mountpoint, null client_id, null username, null password,

This data needs to be concrete - with the out-of-the-box lua script for mysql 'wildcard'-users are not supported. Every user accessing the broker need to be fully specified in the database.


Merge persistence work into master

We accumulated many bug fixes in db branch so it will be useful to merge it to master. Will turn off persistence service before merging.
Fixes #1531.
Fixes #1534
Fixes #1550.

Let's merge it so I can apply numpy fixes over it.


Android Proguard stacktraces are not readable even after uploading the symbol files

Platform:

[ ]  Dart
[x]  Flutter Android or iOS
[ ]  Flutter Web

IDE:

[ ]  VSCode
[x]  IntelliJ/AS
[ ]  XCode
[ ]  Other, which one?

split-debug-info and obfuscate (Flutter Android or iOS) or CanvasKit (Flutter Web):

[x]  Enabled
[ ]  Disabled

Platform installed with:

[x] pub.dev
[ ] GitHub

Output of the command flutter doctor -v below:
[✓] Flutter (Channel unknown, 1.22.0, on Mac OS X 10.15.6 19G73, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
[✓] Connected device (2 available)
The output goes here...
The version of the SDK (See pubspec.lock):
4.x.x

I have the following issue:
We are unable to map the sentry stacktrace logs to the manually uploaded symbol files. We have the latest version of sentry_flutter package and even though we have manually uploaded the native symbol files of the Android build to sentry, using the below command, we are still unable to see the decoded stacktraces.
sentry-cli upload-dif -o org-name -p project-name /Users/username/flutter-app/native-symbols/

We use these two flags to build the release app bundle: --obfuscate --split-debug-info=path
Attaching the screenshots of a dashboard event

Screenshot of Uploaded debug information files

What are we missing here? What else do we need to do for decoding the ProGuard Obfuscated android stacktraces?
Steps to reproduce:

Step

Actual result:

Actual

Expected result:

Result

@ganeshrvel thanks for raising this, a few questions though.
Android Proguard is not related to symbol files.
Which stack traces are unreadable? the ones captured on Dart or Java/Kotlin code?

sentry-cli upload-dif -o org-name -p project-name /Users/username/flutter-app/native-symbols/

You've replaced the org-name and project-name, right? they are just place-holders

--obfuscate --split-debug-info=path

where it's path should be the /Users/username/flutter-app/native-symbols/ you've set above, have you done that? path should be the path where it outputs the files, and then you call sentry-cli passing that path.
Another test would be to skip --obfuscate and try only --split-debug-info={path}, let us know the result as well, thanks.

@ganeshrvel thanks for raising this, a few questions though.
Android Proguard is not related to symbol files.
Which stack traces are unreadable? the ones captured on Dart or Java/Kotlin code?

sentry-cli upload-dif -o org-name -p project-name /Users/username/flutter-app/native-symbols/

You've replaced the org-name and project-name, right? they are just place-holders

--obfuscate --split-debug-info=path

where it's path should be the /Users/username/flutter-app/native-symbols/ you've set above, have you done that? path should be the path where it outputs the files, and then you call sentry-cli passing that path.
Another test would be to skip --obfuscate and try only --split-debug-info={path}, let us know the result as well, thanks.

Hey @marandaneto I work with Ganesh, and to answer your questions:

We have also tried to upload the mapping.txt file generated by Proguard manually, but every time we try it says that 0 new mapping files were uploaded, so I am guessing that mapping.txt file was already uploaded by the Sentry Gradle Plugin, is that right? If it was already uploaded, can I see the uploaded file in the Sentry Dashboard like I see the symbol files which are uploaded.

The stack traces captured on Dart/Flutter are not readable.

Yes, we replaced the org and project names, that is how we were able to upload the files.

Yes, we have the same path, where we store the symbol files, and we upload the symbol files from

We would prefer to obfuscate the code though, what would be different if we didn't use the obfuscate flag?

Also, is there a need for us to associate the uploaded symbol files with a release, if yes, how do we do it manually?

Thanks for getting back so fast, awaiting your response.

Hey @marandaneto I work with Ganesh, and to answer your questions:

We have also tried to upload the mapping.txt file generated by Proguard manually, but every time we try it says that 0 new mapping files were uploaded, so I am guessing that mapping.txt file was already uploaded by the Sentry Gradle Plugin, is that right? If it was already uploaded, can I see the uploaded file in the Sentry Dashboard like I see the symbol files which are uploaded.

The stack traces captured on Dart/Flutter are not readable.

Yes, we replaced the org and project names, that is how we were able to upload the files.

Yes, we have the same path, where we store the symbol files, and we upload the symbol files from

We would prefer to obfuscate the code though, what would be different if we didn't use the obfuscate flag?

Also, is there a need for us to associate the uploaded symbol files with a release, if yes, how do we do it manually?

Thanks for getting back so fast, awaiting your response.

hey @ayush221b thanks for helping us out to dig this issue.

Hey @marandaneto I work with Ganesh, and to answer your questions:

We have also tried to upload the mapping.txt file generated by Proguard manually, but every time we try it says that 0 new mapping files were uploaded, so I am guessing that mapping.txt file was already uploaded by the Sentry Gradle Plugin, is that right? If it was already uploaded, can I see the uploaded file in the Sentry Dashboard like I see the symbol files which are uploaded.

yes, it could be, if the code didn't change at all, that would be the reason as we hash the file before trying to upload it.
mapping is only useful for Java/Kotlin stack traces, so it's not really related to this issue.

The stack traces captured on Dart/Flutter are not readable.

ok, so you indeed need to upload the debug symbols.

Yes, we replaced the org and project names, that is how we were able to upload the files.
Yes, we have the same path, where we store the symbol files, and we upload the symbol files from

great, just wanted to confirm.

We would prefer to obfuscate the code though, what would be different if we didn't use the obfuscate flag?

it was meant for testing only, there's a gotcha though, when using  the obfuscate flag, it'll require a fix on the Android SDK.
https://github.com/getsentry/sentry-java/releases/tag/4.0.0-alpha.2 (Issue: https://github.com/getsentry/sentry-java/pull/1092)
which is not stable yet, it's supposed to be GA late this month, this is only a thing when combining split-debug-info AND obfuscate, but it's not really related to the issue right now, your problem is only with the split-debug-info

Also, is there a need for us to associate the uploaded symbol files with a release, if yes, how do we do it manually?

only source maps (eg Flutter web) should be associated with a release, not Flutter Mobile, as the files already have the debug id in them which is loaded at runtime, so it's possible to find the correct files to symbolicate the stack traces.

Thanks for getting back so fast, awaiting your response.

could you confirm that the steps you've done are:
// compile (should be a release build)
flutter build apk --split-debug-info=$SYMBOLS --obfuscate
// upload symbols
sentry-cli upload-dif --org $SENTRY_ORG --project $SENTRY_PROJECT $SYMBOLS
// install, path of the release apk, that's important
adb install build/app/outputs/flutter-apk/app-release.apk
// execute and capture an event, check if it's symbolicated
also, are you using sentry.io or on-premise? of sentry.io, could you share the link of the issue above? I'd like to dig a bit.
you could send to<EMAIL_ADDRESS>thanks

hey @ayush221b thanks for helping us out to dig this issue.

Hey @marandaneto I work with Ganesh, and to answer your questions:

We have also tried to upload the mapping.txt file generated by Proguard manually, but every time we try it says that 0 new mapping files were uploaded, so I am guessing that mapping.txt file was already uploaded by the Sentry Gradle Plugin, is that right? If it was already uploaded, can I see the uploaded file in the Sentry Dashboard like I see the symbol files which are uploaded.

yes, it could be, if the code didn't change at all, that would be the reason as we hash the file before trying to upload it.
mapping is only useful for Java/Kotlin stack traces, so it's not really related to this issue.

The stack traces captured on Dart/Flutter are not readable.

ok, so you indeed need to upload the debug symbols.

Yes, we replaced the org and project names, that is how we were able to upload the files.
Yes, we have the same path, where we store the symbol files, and we upload the symbol files from

great, just wanted to confirm.

We would prefer to obfuscate the code though, what would be different if we didn't use the obfuscate flag?

it was meant for testing only, there's a gotcha though, when using  the obfuscate flag, it'll require a fix on the Android SDK.
https://github.com/getsentry/sentry-java/releases/tag/4.0.0-alpha.2 (Issue: https://github.com/getsentry/sentry-java/pull/1092)
which is not stable yet, it's supposed to be GA late this month, this is only a thing when combining split-debug-info AND obfuscate, but it's not really related to the issue right now, your problem is only with the split-debug-info

Also, is there a need for us to associate the uploaded symbol files with a release, if yes, how do we do it manually?

only source maps (eg Flutter web) should be associated with a release, not Flutter Mobile, as the files already have the debug id in them which is loaded at runtime, so it's possible to find the correct files to symbolicate the stack traces.

Thanks for getting back so fast, awaiting your response.

could you confirm that the steps you've done are:
// compile (should be a release build)
flutter build apk --split-debug-info=$SYMBOLS --obfuscate
// upload symbols
sentry-cli upload-dif --org $SENTRY_ORG --project $SENTRY_PROJECT $SYMBOLS
// install, path of the release apk, that's important
adb install build/app/outputs/flutter-apk/app-release.apk
// execute and capture an event, check if it's symbolicated
also, are you using sentry.io or on-premise? of sentry.io, could you share the link of the issue above? I'd like to dig a bit.
you could send to<EMAIL_ADDRESS>thanks

@ganeshrvel as you are compiling an appbundle, how are you installing the appbundle to test it out? using the bundletool CLI?
could you follow these steps and try it again?
https://docs.sentry.io/platforms/android/usage/advanced-usage/#integrating-the-ndk
the main point is:
set android.bundle.enableUncompressedNativeLibs=false to your gradle.properties and repeat the steps, compile, upload symbols install and test it, thanks.

@ganeshrvel as you are compiling an appbundle, how are you installing the appbundle to test it out? using the bundletool CLI?
could you follow these steps and try it again?
https://docs.sentry.io/platforms/android/usage/advanced-usage/#integrating-the-ndk
the main point is:
set android.bundle.enableUncompressedNativeLibs=false to your gradle.properties and repeat the steps, compile, upload symbols install and test it, thanks.

There was an issue that the obfuscated Dart code/sourcemaps can not yet be parsed by Sentry, something was wrong with the format. Can't find it atm.

There was an issue that the obfuscated Dart code/sourcemaps can not yet be parsed by Sentry, something was wrong with the format. Can't find it atm.

@marandaneto We got it working
This is what we did:
We use both obfuscate and split-debug-info flags for generating the apk/bundle
# for apk
flutter build apk --obfuscate --split-debug-info=$SYMBOLS

# for bundle
flutter build appbundle --obfuscate --split-debug-info=$SYMBOLS

AndroidManifest file:
    <application
            ......
            android:extractNativeLibs="true" //<------ this line
    >

gradle.properties:
....
android.bundle.enableUncompressedNativeLibs=false

./build.gradle:
buildscript {
    dependencies {
         .....
        // https://github.com/getsentry/sentry-android-gradle-plugin/releases
        classpath 'io.sentry:sentry-android-gradle-plugin:1.7.36'
    }
}

./app/build.gradle:
apply plugin: 'io.sentry.android.gradle'

.....

sentry {
    autoProguardConfig true
    autoUpload false
    uploadNativeSymbols false
    includeNativeSources true
}

@marandaneto We got it working
This is what we did:
We use both obfuscate and split-debug-info flags for generating the apk/bundle
# for apk
flutter build apk --obfuscate --split-debug-info=$SYMBOLS

# for bundle
flutter build appbundle --obfuscate --split-debug-info=$SYMBOLS

AndroidManifest file:
    <application
            ......
            android:extractNativeLibs="true" //<------ this line
    >

gradle.properties:
....
android.bundle.enableUncompressedNativeLibs=false

./build.gradle:
buildscript {
    dependencies {
         .....
        // https://github.com/getsentry/sentry-android-gradle-plugin/releases
        classpath 'io.sentry:sentry-android-gradle-plugin:1.7.36'
    }
}

./app/build.gradle:
apply plugin: 'io.sentry.android.gradle'

.....

sentry {
    autoProguardConfig true
    autoUpload false
    uploadNativeSymbols false
    includeNativeSources true
}

cool, the extractNativeLibs thingie won't be required in the future if https://github.com/getsentry/sentry-native/pull/431 gets approved.
autoProguardConfig should be false, as there will be no effect.
includeNativeSources should only be true if your own App has native code (C/C++), otherwise, it could be false.
for Dart/Flutter, in the future, this will available thru #132 but it's currently blocked.

cool, the extractNativeLibs thingie won't be required in the future if https://github.com/getsentry/sentry-native/pull/431 gets approved.
autoProguardConfig should be false, as there will be no effect.
includeNativeSources should only be true if your own App has native code (C/C++), otherwise, it could be false.
for Dart/Flutter, in the future, this will available thru #132 but it's currently blocked.

@marandaneto is there any other channel to search for help? I'm having the same issue here, symbolicated issues with partially unreadable stacktraces. I've read almost every document on sentry's website, but I couldn't make it work completely.
At first, the stacktrace was unsymbolicated, but somehow I could make it symbolicated now. But I don't understand why the exception isn't completely readable. Here are some screenshots:
My question is if it's somehow related to the source context problem, addressed by #132, or if it should work with current supported dart and sentry features.
Thanks for the help, in advance.

https://github.com/getsentry/sentry-dart/issues/132 is something else.
what is the umsymbolicated part? if you mean _Fa, that's a tooling limitation on Flutter's side.
https://flutter.dev/docs/deployment/obfuscate#caveat
https://docs.sentry.io/platforms/flutter/troubleshooting/#known-limitations
the screenshot and its stack trace look good though, is it only about the title?

@marandaneto yes, I meant both the title and those addresses in the second column. Comparing to a stacktrace from a build without --split-debug-info, it seemed odd to me (although it has the same information in it). It wasn't clear for me that the obfuscation caveat has this effect on the console.

Thanks for the quick reply, it helped me a lot!

oh got it, they are just the image_addr that have been used for symbolication, no issues in there.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Codecov Report

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

@@          Coverage Diff          @@
##           master   #490   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          29     29
=====================================
  Hits           29     29

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 7233b73...3805487. Read the comment docs.

Coverage remained the same at 97.619% when pulling 38054871db5f1b6faf5e333c4ac3bf3b3a16bf1e on template-sync-1 into 7233b738237da7c590a92323ac7c98297d12ff42 on master.


Add support for Kubernetes 1.21

Also includes #571.

Dual stack support is now enabled by default in 1.21, see https://kubernetes.io/docs/concepts/services-networking/dual-stack/
We should take a close look if this causes any problems and needs to be disabled.


Single-quote strings aren't highlighted properly

From https://haxe.org/manual/lf-string-interpolation.html.

I fixed this recently for the code cookbook highlighter, so same changes should be applied here too https://github.com/HaxeFoundation/code-cookbook/commit/02c2b78b2e7c3994e11fb0ec43eed4398fe4a50f

Good one. maybe I should make it a haxelib.

Couldn't we use https://github.com/vshaxe/haxe-TmLanguage like github does?

I think GitHub renders it server-side - you can't really run TmLanguage grammars in the browser (too slow + JS regexes are too limited). So you would have to precprocess it on Travis or something. However, that might not be too hard to pull off with linguists API?
https://github.com/github/linguist#usage

Nice. Linguist might even support HXML soon: https://github.com/github/linguist/pull/4092 ;)

Linguist detects the language of a file but the actual syntax-highlighting is powered by a set of language grammars which are included in this project as a set of submodules as listed here.

So no need for linguist, I'm trying to find a tool/library that can use the grammar and export html or expose the tokens but so far nothing.

Hm... https://github.com/github/linguist/issues/1984

See HaxeFoundation/haxe.org#315.


Remove gradients on Header and Radio tabs

Solves #276

There is also https://github.com/morpheusthewhite/spicetify-themes/issues/228 which is still open @SmithPeder


Schemas: add /schemas/list page, and custom 404 for /schemas and missing subpages

@svrnm @tigrannajaryan I think that this is most likely the solution that could meet all of our concerns, as summarized by @svrnm. Here is what this PR offers:

Fixes #3468
Adds a /schemas/list page that lists the published schemas.
Adds a custom 404 page for /schemas that contains the link to the list page
Fixes #1102

Previews

https://deploy-preview-3508--opentelemetry.netlify.app/schemas - shows custom schemas 404
https://deploy-preview-3508--opentelemetry.netlify.app/schemas/ - shows custom schemas 404
https://deploy-preview-3508--opentelemetry.netlify.app/schemas/list/ - shows schemas list page

Redirect tests

https://deploy-preview-3508--opentelemetry.netlify.app/schemas/latest --> 1.22.0 (as of the time of writing)
https://deploy-preview-3508--opentelemetry.netlify.app/schemas/latest/ --> 1.22.0 (as of the time of writing)
https://deploy-preview-3508--opentelemetry.netlify.app/schemas/x.y.z - nonexistent version --> schemas 404

Status tests
$ curl -sI https://deploy-preview-3508--opentelemetry.netlify.app/schemas | grep -E 'HTTP|-type|location'
HTTP/2 404
content-type: text/html; charset=UTF-8
$ curl -sI https://deploy-preview-3508--opentelemetry.netlify.app/schemas/ | grep -E 'HTTP|-type|location'
HTTP/2 404
content-type: text/html; charset=UTF-8
$ curl -sI https://deploy-preview-3508--opentelemetry.netlify.app/schemas/list/ | grep -E 'HTTP|-type|location'
HTTP/2 200
content-type: text/html; charset=UTF-8

Screenshots
404 page:

List page:

Closing in favor of:

#3537


Document updated for Scalar IST schema creation

It should be merged after https://github.com/scalar-labs/scalar-ist/pull/52.

This one is only for PR 272e4b9


Update oci-java-sdk-objectstorage to 2.2.0

Updates com.oracle.oci.sdk:oci-java-sdk-objectstorage from 1.37.2 to 2.2.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.oracle.oci.sdk", artifactId = "oci-java-sdk-objectstorage" } ]

labels: library-update, semver-major

See #58

Superseded by #59.


Objecttype implementation

!!! This needs an UI change to test and approve (objecttype in the ifcjson)

Approved -> no new release yet, UI needs an update on main branch


selinux: allow access to kubelet_var_lib_t

podresources API context has changed to kubelet_var_lib_t:
https://github.com/containers/container-selinux/pull/329
Adjust the custom policy to allow access to this new file context.
Signed-off-by: Talor Itzhak<EMAIL_ADDRESS>

LGTM!
any chance to have (more) unit test? even something extremely basic like making sure the (correct) policy is returned would be OK

LGTM! any chance to have (more) unit test? even something extremely basic like making sure the (correct) policy is returned would be OK

I'll verify manually and update. Please do not merge unless state otherwise


fix: ident Self field keyword as Self_

Issue generating: https://github.com/Blizzard/s2client-proto
Self is used in a field in raw.pb and is overridden by r#Self which is incorrect rust

Hi @hyyking, thanks for the PR.  This issue was fixed in #180, which will be included in the next release.  This PR has no effect since a 'Self' value is not possible after calling to_snake_case


Stop recreating Jenkins in a shell script

Build starforge to test.

@galaxybot test this

@galaxybot test this


Explicitly indicate to client applications when 0-RTT is accepted

Required Operations on Connections:

When implementing the client role, applications need to be able to:

be informed when 0-RTT has been accepted or rejected by a server.

Perhaps Connecting::into_0rtt should return a oneshot future alongside the NewConnection?

That sounds like a sensible design.


Remove inactive team members from Projectpythia teams

CODEOWNERS points to Pythia teams and automatically requests reviews from colleagues who have moved on and no longer have the capacity to work on this project. While they are still welcome to contribute, we should remove them from the automated review process.

Removed members from education team (but still in core)


build failure: "module-info.class is a duplicate but no duplicate handling strategy has been set."

The latest build is broken
https://github.com/atsushieno/mugene-ng/runs/3291827328?check_suite_focus=true
It is due to:

Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.1.1/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

which seems to be an issue, one mentioned at https://youtrack.jetbrains.com/issue/KT-46165 (fixed) which reports that there was still a regression for Java project (which mugene-console is) https://youtrack.jetbrains.com/issue/KT-46978  (fixed).
Since I'm still seeing the issue, it is possible that kotlin 1.5.10 does not have a fix.

fixed at 302e2a0.


[Core] Concurrently Poll Ray Driver and Worker Results to Avoid Distributed Init Deadlock

Concurrently Poll Ray Driver and Worker Results to Avoid NCCL Deadlock
Testing with CI first as I don't have local testing env setup
Will need advice on best testing strategy
FIX https://github.com/vllm-project/vllm/issues/3455
CC: @youkaichao

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

@youkaichao how to trigger CI to run on this PR?

what is the NCCL deadlock problem you mentioned?
we are moving towards separating the driver worker in the future. I will not accept adding more complexity with background thread here.
you can take a look at https://github.com/vllm-project/vllm/issues/6556

what is the NCCL deadlock problem you mentioned?

https://github.com/vllm-project/vllm/issues/3455
Sure, as long as the driver does not itself do any blocking out-of-band operation while the workers are.


Fixes for the SDL3 client

This PR fixes some build issues with last SDL3. The main contribution is fixing the clipboard with things I've managed to push to SDL.

@freerdp-bot test


[tbb] update from 2020_U3 to 2021.1.1

Port version update

Which triplets are supported/not supported? now should support all

Have you updated the CI baseline? no

Does your PR follow the maintainer guide?
yes

Ouch, looks like some packages not ready for new version of tbb. Is it possible now to make them use previous one?

Ouch, looks like some packages not ready for new version of tbb. Is it possible now to make them use previous one?

Ouch, looks like some packages not ready for new version of tbb. Is it possible now to make them use previous one

Since other ports depend on tbb, it's impossible to make two versions for one port.
So I think we cannot use previous one if we want to update tbb to the latest version.

Ouch, looks like some packages not ready for new version of tbb. Is it possible now to make them use previous one

Since other ports depend on tbb, it's impossible to make two versions for one port.
So I think we cannot use previous one if we want to update tbb to the latest version.

Ok, lets wait till package version will got full power.

Ok, lets wait till package version will got full power.

@xandox
Thanks for this PR. Since the current version has bad compatibility.
I think we can close this PR for now. If you' d like to continue working on it in the future, please reopen and ping us!
What do you think?

Same changes with my PR #16321, I will resolve compatibility issues on that PR.


NIFI-2695: Provide more meaningful authorization error messages

NIFI-2695:

Providing more granular and meaningful authorization error messages.

Reviewing...

+1 Verified I now get the more descriptive messages when doing things like deleting a processor referencing a controller service that I don't have access to. I'll merge to master.