[SPARK-21603][SQL]The wholestage codegen will be much slower then that is closed when the function is too long

What changes were proposed in this pull request?
Close the whole stage codegen when the function lines is longer than the maxlines which will be setted by
spark.sql.codegen.MaxFunctionLength parameter, because when the function is too long , it will not get the JIT  optimizing.
A benchmark test result is 10x slower when the generated function is too long :
ignore("max function length of wholestagecodegen") {
val N = 20 << 15
val benchmark = new Benchmark("max function length of wholestagecodegen", N)
def f(): Unit = sparkSession.range(N)
  .selectExpr(
    "id",
    "(id & 1023) as k1",
    "cast(id & 1023 as double) as k2",
    "cast(id & 1023 as int) as k3",
    "case when id > 100 and id <= 200 then 1 else 0 end as v1",
    "case when id > 200 and id <= 300 then 1 else 0 end as v2",
    "case when id > 300 and id <= 400 then 1 else 0 end as v3",
    "case when id > 400 and id <= 500 then 1 else 0 end as v4",
    "case when id > 500 and id <= 600 then 1 else 0 end as v5",
    "case when id > 600 and id <= 700 then 1 else 0 end as v6",
    "case when id > 700 and id <= 800 then 1 else 0 end as v7",
    "case when id > 800 and id <= 900 then 1 else 0 end as v8",
    "case when id > 900 and id <= 1000 then 1 else 0 end as v9",
    "case when id > 1000 and id <= 1100 then 1 else 0 end as v10",
    "case when id > 1100 and id <= 1200 then 1 else 0 end as v11",
    "case when id > 1200 and id <= 1300 then 1 else 0 end as v12",
    "case when id > 1300 and id <= 1400 then 1 else 0 end as v13",
    "case when id > 1400 and id <= 1500 then 1 else 0 end as v14",
    "case when id > 1500 and id <= 1600 then 1 else 0 end as v15",
    "case when id > 1600 and id <= 1700 then 1 else 0 end as v16",
    "case when id > 1700 and id <= 1800 then 1 else 0 end as v17",
    "case when id > 1800 and id <= 1900 then 1 else 0 end as v18")
  .groupBy("k1", "k2", "k3")
  .sum()
  .collect()

benchmark.addCase(s"codegen = F") { iter =>
  sparkSession.conf.set("spark.sql.codegen.wholeStage", "false")
  f()
}

benchmark.addCase(s"codegen = T") { iter =>
  sparkSession.conf.set("spark.sql.codegen.wholeStage", "true")
  sparkSession.conf.set("spark.sql.codegen.MaxFunctionLength", "10000")
  f()
}

benchmark.run()

/*
Java HotSpot(TM) 64-Bit Server VM 1.8.0_111-b14 on Windows 7 6.1
Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
max function length of wholestagecodegen: Best/Avg Time(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------
codegen = F                                    443 /  507          1.5         676.0       1.0X
codegen = T                                   3279 / 3283          0.2        5002.6       0.1X
 */

}
How was this patch tested?
Run the unit test

Can one of the admins verify this patch?

ok to test

Test build #80318 has started for PR 18810 at commit 1b0ac5e.

Test build #80318 has finished for PR 18810 at commit 1b0ac5e.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #80325 has started for PR 18810 at commit 7e84753.

Test build #80325 has finished for PR 18810 at commit 7e84753.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #80326 has started for PR 18810 at commit c4235dc.

Test build #80329 has started for PR 18810 at commit 52da6b2.

Test build #80326 has finished for PR 18810 at commit c4235dc.

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

Merged build finished. Test PASSed.

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

Test build #80329 has finished for PR 18810 at commit 52da6b2.

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

Merged build finished. Test PASSed.

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

cc @gatorsmile

Test build #80470 has started for PR 18810 at commit d0c753a.

Test build #80472 has started for PR 18810 at commit d44a2f8.

Test build #80470 has finished for PR 18810 at commit d0c753a.

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

Merged build finished. Test PASSed.

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

Test build #80471 has finished for PR 18810 at commit d3238e9.

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

Merged build finished. Test FAILed.

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

Test build #80472 has finished for PR 18810 at commit d44a2f8.

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

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

Merged build finished. Test FAILed.

Test build #80475 has started for PR 18810 at commit ce544a5.

Btw, can you change [sql] to [SQL] in title?

Test build #80476 has started for PR 18810 at commit 08f5ddf.

Test build #80476 has finished for PR 18810 at commit 08f5ddf.

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

Merged build finished. Test FAILed.

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

Test build #80475 has finished for PR 18810 at commit ce544a5.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #80481 has started for PR 18810 at commit 4fbe5f8.

Test build #80481 has finished for PR 18810 at commit 4fbe5f8.

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

Merged build finished. Test FAILed.

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

Test build #80488 has started for PR 18810 at commit 5c180ac.

Test build #80488 has finished for PR 18810 at commit 5c180ac.

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

Merged build finished. Test PASSed.

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

Test build #80516 has finished for PR 18810 at commit b83cd1c.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #80518 has started for PR 18810 at commit 6814047.

LGTM except for few comments.

Test build #80522 has started for PR 18810 at commit 8b32b54.

Test build #80518 has finished for PR 18810 at commit 6814047.

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

Merged build finished. Test PASSed.

Test build #80522 has finished for PR 18810 at commit 8b32b54.

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

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

Merged build finished. Test FAILed.

shall we improve the whole stage codegen framework and avoid generating super long functions?

@cloud-fan This is a right direction we should work. This change can be a base used to check if we generate super long functions. Once we are confident that whole stage codegen framework is completely getting rid of such functions, we can remove this.

@cloud-fan I am thinking about how we can split a super long function into multiple function as CodeGenerator.splitExpressions does.

Test build #80537 has started for PR 18810 at commit 32813b0.

Test build #80537 has finished for PR 18810 at commit 32813b0.

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

Merged build finished. Test PASSed.

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

Test build #80563 has started for PR 18810 at commit b879dbf.

Test build #80564 has started for PR 18810 at commit 44ce894.

Test build #80563 has finished for PR 18810 at commit b879dbf.

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

Merged build finished. Test PASSed.

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

Test build #80564 has finished for PR 18810 at commit 44ce894.

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

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

Merged build finished. Test PASSed.

Thank you for your contribution! Due to the impact of this PR, we need to be more cautious. Trying to get more feedbacks from the others.

retest this please

Test build #80703 has started for PR 18810 at commit 44ce894.

Test build #80703 has finished for PR 18810 at commit 44ce894.

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

Merged build finished. Test PASSed.

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

LGTM

Thanks! Merging to master.

(copied from jira for just-in-case) Just for your information, I checked the performance changes of TPCDS before/after the pr #18810; the pr affected Q17/Q66 only (that is, they have too long codegen'd functions). The changes are as follows (just run TPCDSQueryBenchmark);
Q17: https://github.com/apache/spark/blob/master/sql/core/src/test/resources/tpcds/q17.sql
Q66: https://github.com/apache/spark/blob/master/sql/core/src/test/resources/tpcds/q66.sql
Q17 w/o this pr, 3224.0  --> q17 w/this pr, 2627.0 (perf. improvement)
Q66 w/o this pr, 1712.0 -->  q66 w/this pr, 3032.0 (perf. regression)

It seems their queries have gen'd funcs with 2800~2900 lines, so if we set 2900 at spark.sql.codegen.maxLinesPerFunction, we could keep the previous performance w/o pr18810.

@maropu Interesting. Would you like to benchmark with #18931 too? It is my attempt to solve long code-gen functions without disabling it.

yea, I'll do

Btw, as for merged prs, I'm just monitoring TPCDS perf. in here. Also, I wrote a script before to run TPCDS on pending prs: https://github.com/maropu/spark-tpcds-datagen#helper-scripts-for-benchmarks.

Thank you for tracking it! Could you adjust the conf to a higher number (e.g. 4097)?

ok, I'll make a pr as follow-up.


Cannot run a simple example on Pi-5

I have a Pi-5 with the camera v3 and I installed all packages in Readme.
I also know Pi-5 uses Wayland instead of X.
Run an example:
$ python3 real_time_with_labels.py --model mobilenet_v2.tflite --label coco_labels.txt
[0:43:40.625317821] [5733]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:43:40.633777732] [5740]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:43:40.644429310] [5740]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[0:43:40.645693273] [5733]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0+120-eb00c13d
[0:43:40.655230277] [5743]  INFO RPI pisp.cpp:695 libpisp version v1.0.5 999da5acb4f4 17-04-2024 (14:29:29)
[0:43:40.666197281] [5743]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
QObject::moveToThread: Current thread (0x7f5402f720) is not the object's thread (0x7f54239740).
Cannot move to target thread (0x7f5402f720)

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/developer/.local/lib/python3.11/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.

Aborted

I don't want to go back to using X on the Pi-5 because it will probably break other things.
Any solution for Picam2 on Pi-5 use Wayland with V3 camera module?
Thanks.

Hi, thanks for the report. Could we perhaps start with a simpler example, maybe examples/preview.py - does that work?
I'm also a bit suspicious that maybe you've installed a version of OpenCV with a different version of PyQt from the one in Picamera2. Can you say how you installed OpenCV? I would strongly recommend the version from apt.

Hi, thanks for the report. Could we perhaps start with a simpler example, maybe examples/preview.py - does that work?
I'm also a bit suspicious that maybe you've installed a version of OpenCV with a different version of PyQt from the one in Picamera2. Can you say how you installed OpenCV? I would strongly recommend the version from apt.

Version OpenCV
$ python
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print("OpenCV version:", cv2.__version__)
OpenCV version: 4.9.0
>>>

I also know the problem is that the latest versions of OpenCV-python do not include the library for Wayland.
This isn't a Picam2 bug, I'm just looking for a solution for Wayland on the Pi-5.

Thanks for the update. So you're right, this might be related to  Wayland, or possibly Qt versions. Nonetheless, I'd like to start with perhaps the simplest example we can. Are you able to say what that very simple example does?
It is the case that if you download a vanilla Raspberry Pi OS image and change nothing at all (other than letting it perform its updates), then examples/preview.py works, whether running Wayland or X11. Picamera2 doesn't talk to Wayland directly, it still (I believe, I might be wrong) uses the X11 protocols and relies on XWayland to handle them. So in this respect, Wayland might not be the issue, or at least, not directly.
But I have seen problems like this when OpenCV wants to use a different version of Qt from the one installed from apt for Picamera2. If you installed OpenCV from somewhere else (did you compile it yourself? did you install it using pip?), then my suggestion would be to uninstall it and go back to the version from apt. It might be worth trying out a fresh installation of Raspberry Pi OS, and verifying that it works as I described.


Add GitHub templates for issues and PRs

Here are suggested issue templates for bugs and features, as well as a PR template that will prompt users to enter the issue that the PR is closing.

@alamb @jorgecarleitao

Codecov Report

Merging #29 (e40316e) into master (c365a4f) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head e40316e differs from pull request most recent head ac68174. Consider uploading reports for the commit ac68174 to get more accurate results

@@           Coverage Diff           @@
##           master      #29   +/-   ##
=======================================
  Coverage   70.41%   70.41%
=======================================
  Files         123      123
  Lines       21261    21261
=======================================
  Hits        14970    14970
  Misses       6291     6291

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 c365a4f...ac68174. Read the comment docs.

Once the templates are applied in arrow-rs I will copy them into this PR

@alamb This is updated to use the same templates as arrow-rs


Implement call expressions

What was wrong?
We currently do not support call expressions (e.g. return self.foo())
How was it fixed?

mapped the expr_call in the mapper
in the semantic pass, check if the called function does have a return value and raise a TypeError if not
Added a fixture contract to test the success case
Started a new category of fixture tests that check for compile errors and added a fixture for the described error case

To-Do

[ ] OPTIONAL: Update Spec if applicable
[ ] Clean up commit history
[ ] Create issue for call expressions with arguments
[ ] Created issue for initial sweep of function definitions

Codecov Report

Merging #78 into master will decrease coverage by 0.19%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
- Coverage   87.90%   87.70%   -0.20%
==========================================
  Files          36       36
  Lines        2281     2286       +5
==========================================
  Hits         2005     2005
- Misses        276      281       +5

Impacted Files
Coverage Δ

compiler/src/errors.rs
0.00% <ø> (ø)

compiler/src/yul/mappers/expressions.rs
97.72% <0.00%> (-1.13%)
:arrow_down:

semantics/src/traversal/expressions.rs
90.14% <0.00%> (-1.29%)
:arrow_down:

semantics/src/traversal/functions.rs
88.09% <ø> (ø)

compiler/src/yul/mod.rs
0.00% <0.00%> (ø)

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 de034e0...1c0139f. Read the comment docs.


FileStream cmdlets

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[x] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
We don't have a means of getting FileStream status or setting that status. Need it for #2859 as we need to check/enable before restoring a FileStream DB
Approach
Get/Set pair of commands
Commands to test
Get-DbaFilestream -SqlInstance server1\instance1
Set-DbaFileStream -SqlInstance server1\istance1 -FileStreamLevel 2
Above will prompt for confirmation for the change and the server restart
Set-DbaFileStream -SqlInstance server1\istance1 -FileStreamLevel 2 -Force
Same as previous by will just do the job
Get-DbaFilestream -SqlInstance server1\instance1, server\instance, prod\hr | Where-Object {$_.FileStreamStateId -gt 0}  | Set-DbaFileStream -FileStreamLevel 0 -force
Queries a bunch of servers, and disables Filestream on any of them with it enabled.

Hi @Stuart-Moore,
we already have the command to do this, I mean, in this case, is to set up inside SQL Server so we can use the Get/Set-DbaSpConfigure commands.
Example: Get-DbaSpConfigure -SqlInstance $sourceServer -ConfigName FilestreamAccessLevel (I have used on the MigrationConstraint command https://github.com/sqlcollaborative/dbatools/blob/master/functions/Test-DbaMigrationConstraint.ps1#L198). The main difference in comparison with yours is the service restart, on this commands it only informs if you need to do it.
What we do not have is a command to set it at the SQL Server Configuration Manager level outside the instance. And I just found that without it enabled... we can't restore the database.

That's a good point, @ClaudioESSilva - I added the psd1 changes w/o looking more into what the commands were. If we were to use the commands, it should probably be Get/Enable/Disable

This does the Config manager level change. Not the Sql config level change

Should an -IncludeSpConfigure or some better named param be added so that it's a thorough change?

Unless I'm missing something, I disagree @Stuart-Moore

I asked on slack and was told to write something.
enable/disable is too binary for something with at least 3 states (there's internal SMO code for state 4, but that barfs atm when you set it)

@Stuart-Moore Working under $server.Configuration is going to be the instance-level configuration.
To handle the service-level configuration you will need to do something similar to this, but using our CIM commands.

Can you add a required -Type param and ValidateSet with the 3 different types (using human words, then transform them to 0, 1, 2, etc)

We also need to clarify one item on the command names. Are we going to differentiate between service-level and instance-level configuration in set/disable?
Service-level configuration there are three level of settings to consider:

Enable Filestream for T-SQL Access
Enable Filestream for I/O Access
Windows share name
Allow remote clients access to Filestream data

At the instance-level if I recall setting it to 2 requires that you have I/O access enabled at the service-level, but has been a while since I had to set this up on a database.

OK. If anyone wants to run with this feel free. I know almost nothing about Filestream and just wanted this to get @ClaudioESSilva restore request sorted.

@ClaudioESSilva - will you take this one over? He even included tests 🤗

What will the command names be for the service level config?

I think it should be all in one with an IncludeServiceLevel

How’s this going? Anyone taking it on?

What I have written so far...

Working on test file now.

@ClaudioESSilva So I've found out testing that the AccessLevel values for the instance and service match up with one exception. Service level goes from 0 - 3, with 3 being full access. So I added two hash tables to the code in order to do a lookup on the value, make it more dynamic.
		$idServiceFS =[ordered]@{
			0 = 'Disabled'
			1 = 'Transact-SQL access'
			2 = 'Transact-SQL and I/O access'
			3 = 'Transact-SQL, I/O and remote client access'
		}
		$idInstanceFS =[ordered]@{
			0 = 'Disabled'
			1 = 'Transact-SQL access enabled'
			2 = 'Full access enabled'
		}

So the interesting part is if you have the service only set to level 1 and then try and set the instance to level 2 (Full Access), then the configured value on the instance (what is returned by Get-DbaSpConfigure -SqlInstance $server -ConfigName FilestreamAccessLevel | Select-Object ConfiguredValue, RunningValue) will never update. I have restarted the SQL14 instance multiple times and the configured value never updates:

The purpose in all this, I'd like to add a flag IsConfigured that we can use with the restore process. I'm not sure if in this setup a restore would work (don't have a FS database on me).
@potatoqualitee @Stuart-Moore does this sound accurate/usable?

Thanks, @wsmelton Nice finding.
If you set the service level to other value and restart the instance level change?
If yes, maybe we should add some warning to that combination.
PS: Just to be clear, this is not a real-life problem to me (right now). I was implementing an improvement to Test-DbaMigrationConstraint and found that the Restore-DbaDatabase didn't handle this filegroups. And now we are here! The beauty of implementing a new feature 😄
I don't have any database with filestream (in my work environment), I just used the lab to create one even without filestream data (just filegroup/file).

A restart makes no difference. If you set the service to a lower level to the instance it will not update the instance configuration.

I came across this and not sure what's remaining on it. I could use this as I deploy out a readyroll project requiring configuration of filestream. What work would help finish this?

SMO has to be fixed 😁
there is a limitation in SMO itself to properly handling filestream configuration...at least from my findings.

Such a pain! Ok. Do you have a SMO issue opened already?

I read on a forum that
There are actually two places you need to enable FILESTREAM support, in the engine and in the server. Enabling FILESTREAM support in the engine tells SQL Server to load the drivers that are required to support FILESTREAM, while enabling it in the server is what activates and deactivates it. So you can't activate it unless the engine was loaded with support for it.

So I'll try engine first then WMI, tho everyone is saying SMO is read-only

Some of the code was fixed to enable it at the service level. It is just changing it is where the bug is.

yah, gonna do a combo 💪


Proposal for transactions for multi-index.

Reasons for proposal

Instantiation of far too many lambdas within emplace and modify operations for example would complicate the output WebAssembly in spite of compiler optimizations.

Transactions would allow for blocks of data operations to be committed to EOS' tables in a fairly clean manner.

Multi-indices in EOS essentially act as an indexed strongly-consistent key-value store database.

Example
The Golang database Badger provides transactions in this format:
tx, _ := db.NewTransaction(true)
defer tx.Commit()
defer tx.Discard()

val, _ := tx.Get([]byte("key")
result := process(val)
tx.Set([]byte("new_key"), []byte(result), ...)

A similar format would work out in C++ easily (and could be even cleaner).

Each action in the smart contract is already a nested transaction in the blockchain's point of view.  Supporting one more level of nested transaction in the smart contract will be definitely more complicated, but it is a good idea as a future enhancement.


Completely black window

Whenever I attempt to run any of the scripts provided in fe/scripts using cel7 the window turns completely black, I am not sure if it's an issue in the files or if I am missing any requirements I did not know about, everything except the no input file error returns a black screen, I have tried to run it through the command line but it gives the same result.
Is there any way to solve this? I am using Windows 11 if OS is relevant

cel7 is not a fe interpreter, but a game framework. Once you run one of the scripts from the fe/scripts folder, the script is executed and then the framework runs the init, step, etc. functions. But none of the above scripts define or use functions specific to cel7.
You can try to run cel7 from the console, then you (depending on the platform) may get the result of the scripts execution. At least it works on Linux. If you need the fe interpreter, just build it from source. This can be done with any C compiler for Windows.


mode documentation options is outdated

Mode documentation is outdated, I assume it wasn't updated for webpack v5.
I copied the production mode options and got:
[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
 - configuration.optimization has an unknown property 'occurrenceOrder'. These properties are valid:
   object { checkWasmTypes?, chunkIds?, concatenateModules?, emitOnErrors?, flagIncludedChunks?, innerGraph?, mangleExports?, mangleWasmImports?, mergeDuplicateChunks?, minimize?, minimizer?, moduleIds?, noEmitOnErrors?, nodeEnv?, portableRecords?, providedExports?, realContentHash?, removeAvailableModules?, removeEmptyChunks?, runtimeChunk?, sideEffects?, splitChunks?, usedExports? }
   -> Enables/Disables integrated optimizations.
   Did you mean optimization.chunkIds: "size" and optimization.moduleIds: "size" (BREAKING CHANGE since webpack 5)?

You don't need to copy the whole configuration from https://webpack.js.org/configuration/mode/#mode-production,
You need the one only with the + sign to enable mode i.e,
module.exports = {
 mode: 'production'
}

I know, it was for debugging an issue.

Yep we should remove v4 config references. I will update 👍


Structure construct confusing

The way which win32more abuses type hints on Structure-derived types seems to make it difficult to work with the library.
Example, say you want to make something like this:
class SCSI_PASS_THROUGH_DIRECT_WITH_SENSE(Structure):
    sptd: Scsi.SCSI_PASS_THROUGH_DIRECT
    _pad: UInt32
    sense: Byte * 32

Using the structure is more difficult than if it were just expressed as a normal ctypes Structure, because you cannot use ctypes.sizeof on it, and you cannot easily initialize fields (nor rely on fields being zero initialized if not explicitly set).
i.e. with the above definition, you cannot do this:
s = SCSI_PASS_THROUGH_DIRECT_WITH_SENSE()
s.sptd.Length = sizeof(s)

Attempting to access .sptd.Length will fail as sptd doesn't exist yet, and sizeof will fail for similar reason.
As a user of other win32 projections (cppwinrt + rust), I really like the projections when they are nicely integrated into the semantics of the language / interoperate well with existing code. win32more seems to be missing some of the glue code to make interworking nice.

I don't know that union problem.  Let me know detail.

I will give it a try.

 So, if you want to implement your type in a module, at the end of the module just add make_ready(__name__).


In anonymized view-only link, GitHub information is not anonymized

What you did (step by step)

Connect GitHub to a project
Create a view-only link to share the OSF project (check off "Anonymize contributor list for this link (e.g., for blind peer review)")
Go to the view-only link

Where does this happen on the OSF?
Anonymized view-only homepage of a project, e.g., https://osf.io/ga9w8/?view_only=3ec356c101944ec092c6badfbb0fb593
What you expected
The open button should not appear for people to go to the GitHub link

What actually happened
One can click the open button and find out information about the contributors of the OSF repo
Potential causes
Related code that may have caused this:
https://github.com/CenterForOpenScience/osf.io/blob/3920a29ff5c92a45229e618931661cc5d0c8a08d/addons/github/static/githubFangornConfig.js#L283-L291
Suggest a solution
Similar to the hidden GitHub repo (username/repo-name) in a view-only link, as seen below, the Open button should also be hidden.

Not view-only
View-only

Final words
I think the branch list should also be hidden in a view-only link

This seems like a major issue to using Github for OSF, I'm adding a comment here to bring attention to this issue.

@follhim I just reproduced this issue with the view-only link in the description, so it is not fixed.

when ideally, the link shouldn't be accessible at all. Right?

Right. Because the GitHub username/profile reveals the identity of the OSF contributors.
(BTW, I think the branch list should also be hidden in a view-only link)


additional_hosts not working as expected?

The problem
I have a local SearxNG container running on http://192.168.1.XXX:YYYY and since I already had this addon running for my HA instance I'm trying to use it's additional_hosts feature instead of spinning up another entire reverse proxy.
I'm able to reach HA at https://mydomain.com and Searx at http://192.168.1.XXX:YYYY, but not at https://searx.mydomain.com.
What am I missing? Am I supposed to set something through Cloudflare?
Thanks for your time.
What version of Cloudflared has the issue?
5.1.21
What was the last working version of Cloudflared?
No response
What type of installation are you running?
Home Assistant Supervised
Add-on YAML Configuration
Here's my config based on this example:
external_hostname: mydomain.com
additional_hosts:
  - hostname: searx.mydomain.com
    service: http://192.168.1.XXX:YYYY
tunnel_name: mytunnel
tunnel_token: >-
  [mytoken]

Anything in the logs that might be useful for us?
2024-10-07T14:56:59Z INF Updated to new configuration config="{\"ingress\":[{\"hostname\":\"mydomain.com\",\"originRequest\":{},\"service\":\"http://192.168.1.ZZZ:8123\"},{\"service\":\"http_status:404\"}],\"warp-routing\":{\"enabled\":false}}" version=2

Steps to reproduce the issue
Add the additional_hosts, then restart the addon.
Additional information
No response

If you use the remote managed tunnel (Cloudflare Dashboard) all options except tunnel_token will be ignored by the add-on.
https://github.com/brenner-tobias/addon-cloudflared/blob/main/cloudflared/DOCS.md#remote-tunnel-add-on-setup-advanced


PNA spec declares headers on deparser are RO

Comparing PNA: https://p4.org/p4-spec/docs/pna-working-draft-html-version.html#sec-programmable-blocks
vs PSA: https://p4.org/p4-spec/docs/PSA.html#sec-programmable-blocks ..
The deparser on PSA indicates headers are read/write whereas on PNA it is read-only.
We have a program that need to update ipv4 checksum on the deparser. While computing the checksum is allowed on the deparser (per https://p4.org/p4-spec/docs/pna-working-draft-html-version.html#sec-extern-restrictions), updating the computed value on a header is not. Is this the intended behavior?

This PR is instended to address this issue.  Please read it and see if it is missing anything you were hoping for: https://github.com/p4lang/pna/pull/127

Closing based on #127


multipleOf '0.001' for type 'number' did not work for all cases

Environment:

VS Version 17.10.1
.NET 8.0

Description:
Schema:
....
"PosMD": {
"type": "number",
"multipleOf": 0.001,
"description": ""
},
....
Number:
"PosMD":0.001 -> OK
"PosMD":114201340.720 -> OK
"PosMD":214201340.720 -> OK
"PosMD":314201340.720 -> FAILED
"PosMD":<PHONE_NUMBER>340.72, -> FAILED  (original value)
Error JSON (Example):
{
"InstanceLocation": [
"Ruler",
"Rulers",
"0",
"PosMD"
],
"RelativeKeywordLocation": [
"properties",
"Ruler",
"properties",
"Rulers",
"items",
"properties",
"PosMD",
"multipleOf"
],
"SchemaResourceBaseUri": "http://isravision.com/defect_schema.json",
"SubSchemaRefFullUri": "http://isravision.com/defect_schema.json",
"Keyword": "multipleOf",
"ErrorMessage": "Instance: \u0027314201340,72\u0027 is not multiple of \u00270,001\u0027",
"ResultCode": 1,
"IsValid": false
}
Error Output:
FailedToMultiple: Instance: '314201340,72' is not multiple of '0,001' (Location: /Ruler/Rulers/0/PosMD)

Hi @axhero this is fixed in LateApexEarlySpeed.Json.Schema v1.1.6, please try and feel free to reopen if need.
Thanks for reporting this.


Avoid encoding local path in Podfile.lock

Summary
This PR backports https://github.com/facebook/react-native/commit/bdfe2a5 (already in master) to 0.64-stable, so that this fix can be included in 0.64.3, see discussion:  https://github.com/react-native-community/releases/issues/232.  There were some conflicts applying the original commit to 0.64-stable, this commit by @danilobuerger from their fork https://github.com/feastr/react-native/commit/d9f7770e9d26ac29f0af9178b49a08aaba7584a2 has resolved those.
Changelog

Avoid encoding local path in Podfile.lock

Test Plan

Run pod install and commit Podfile.lock
Move project somewhere else
Run pod install again. It should not fail.

0.64 is no longer being patched so this is no longer necessary.


Add maintainers & update recipe

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This PR:

adds the PySAL Steering Council as maintainers
updates versioning and requirements

@conda-forge-admin, please rerender

@JamesSaxon Would you be able to give this PR a review and merge? After that the PySAL Steering Council will be able to help share the load on maintenance.

Sure, I'll have a look this evening.  Thanks for doing this.

Sure, I'll have a look this evening. Thanks for doing this.

You bet. After this is taken care of, I'll clear out #2 , #8 , and #10


compsize: 2018-04-07 -> 1.3

Motivation for this change
Updates compsize to version 1.3 (latest stable version).
Tested on a real btrfs filesystem with different compression algorithms.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Changes: https://github.com/kilobyte/compsize/compare/903f772e37fc0ac6d6cf94ddbc98c691763c1e62...v1.3

@GrahamcOfBorg build compsize


server stopping for each update

Hi,
It seems that the server is stopping for each update and doesn't re run after or at least is not listening anymore so I need to restart it every time... Or maybe it's a port problem I don't kno ...

What is logged in arkserver.log and arkmanager.log

CtrlCHandler: Signal=2
/usr/local/bin/arkmanager: line 909:  5125 Aborted                 (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2016-12-06 01:01:37: Bad PID ''; expected '5125'
2016-12-06 01:01:37: exited with status 0
2016-12-06 01:02:12: start
2016-12-06 01:02:12: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?MaxPlayers\?Port=-1\?QueryPort\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword\?ServerPassword\?SessionName\?listen -log
2016-12-06 01:02:12: Server PID: 1289
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
2016-12-06 01:06:58: server is up
Using binned.
4.5.1-0+UE4 7038 3077 402 6
CtrlCHandler: Signal=2
/usr/bin/arkmanager: line 643:  1289 Aborted                 (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2016-12-06 09:43:09: start
2016-12-06 09:43:09: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheCenter\?MaxPlayers=5\?Port=45110\?QueryPort=45112\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=PqWm8a4\?ServerPassword\?SessionName=barricade\?listen -log
2016-12-06 09:43:09: Server PID: 204
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
2016-12-06 09:46:50: server is up
Using binned.
4.5.1-0+UE4 7038 3077 402 6
/home/buildbot/buildslave/steam_rel_client_linux64/build/src/clientdll/applicationmanager.cpp (3004) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
/home/buildbot/buildslave/steam_rel_client_linux64/build/src/clientdll/applicationmanager.cpp (3004) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
/home/buildbot/buildslave/steam_rel_client_linux64/build/src/clientdll/applicationmanager.cpp (3155) : Assertion Failed: m_vecInstallBaseFolders.Count() > 0
CtrlCHandler: Signal=2
/usr/local/bin/arkmanager: line 909:   204 Aborted                 (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2016-12-07 01:02:07: start
2016-12-07 01:02:07: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?MaxPlayers\?Port=-1\?QueryPort\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword\?ServerPassword\?SessionName\?listen -log
2016-12-07 01:02:07: Server PID: 23756
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
2016-12-07 01:06:42: server is up
Using binned.
4.5.1-0+UE4 7038 3077 402 6
CtrlCHandler: Signal=2
/usr/bin/arkmanager: line 909: 23756 Aborted                 (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2016-12-07 04:04:14: Bad PID ''; expected '23756'
2016-12-07 04:04:14: exited with status 0
2016-12-07 04:05:09: start
2016-12-07 04:05:09: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheCenter\?MaxPlayers=5\?Port=45110\?QueryPort=45112\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=PqWm8a4\?ServerPassword\?SessionName=barricade\?listen -log
2016-12-07 04:05:09: Server PID: 6741
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
/usr/local/bin/arkmanager: line 909:  6741 Killed                  "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
2016-12-07 04:08:29: start
2016-12-07 04:08:29: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheCenter\?MaxPlayers=5\?Port=45110\?QueryPort=45112\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=PqWm8a4\?ServerPassword\?SessionName=barricade\?listen -log
2016-12-07 04:08:29: Server PID: 7328
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
2016-12-07 04:09:43: server is up

last lines of arserver
2016-11-26 21:04:25: stopped
2016-11-26 21:04:25: stop
2016-11-26 21:04:26: restart
2016-11-26 21:04:34: start
2016-11-26 21:16:45: stopping; reason: restart
2016-11-26 21:16:48: stopped
2016-11-26 21:16:48: stop
2016-11-26 21:16:49: restart
2016-11-26 21:16:56: start
2016-11-28 06:57:51: start
2016-11-30 10:37:08: start
2016-12-01 01:01:38: stopping; reason: update
2016-12-01 01:01:41: stopped
2016-12-01 01:02:08: start
2016-12-02 00:00:42: stopping; reason: update
2016-12-02 00:00:44: stopped
2016-12-02 00:01:09: start
2016-12-03 00:01:47: stopping; reason: update
2016-12-03 00:01:49: stopped
2016-12-03 00:02:12: start
2016-12-04 00:00:34: stopping; reason: update
2016-12-04 00:00:36: stopped
2016-12-04 00:01:00: start
2016-12-04 22:18:06: stopping; reason: restart
2016-12-04 22:18:08: stopped
2016-12-04 22:18:08: stop
2016-12-04 22:18:09: restart
2016-12-04 22:18:16: start
2016-12-04 23:19:37: stopping; reason: restart
2016-12-04 23:19:39: stopped
2016-12-04 23:19:39: stop
2016-12-04 23:19:40: restart
2016-12-04 23:19:48: start
2016-12-06 01:01:34: stopping; reason: update
2016-12-06 01:01:37: stopped
2016-12-06 01:02:12: start
2016-12-06 09:38:47: stopping; reason: shutdown
2016-12-06 09:38:49: stopped
2016-12-06 09:43:09: start
2016-12-07 01:01:34: stopping; reason: update
2016-12-07 01:01:39: stopped
2016-12-07 01:02:07: start
2016-12-07 04:04:13: stopping; reason: restart
2016-12-07 04:04:15: stopped
2016-12-07 04:04:15: stop
2016-12-07 04:04:16: restart
2016-12-07 04:05:09: start
2016-12-07 04:08:03: stopping; reason: restart
2016-12-07 04:08:23: stopped
2016-12-07 04:08:23: stop
2016-12-07 04:08:24: restart
2016-12-07 04:08:29: start

last line of arkmanager.log
I guess it s more a problem because of the game than your tools but still it's annoying

That server is up about 4 minutes after each startup suggests it is listening.
It looks like you're running 2 servers from the same directory. One server is being updated, while the other is being restarted some time later.
Additionally, it looks like the TheIsland server has Port= and QueryPort=.  You might want to specify your Port and QueryPort for that TheIsland server.

I have been having this same issue, and my logs contain roughly the same output. I am only running one instance, however there are two things I notice that are consistent:

The restart after the update contains Port=-1 and QueryPort without a parameter.

Instead of outputting server is up, I can see this in the log:

15:00:54: Bad PID '26750'; expected '17553'
15:00:54: exited with status 0

I normally see Bad PID '' on a normal server shutdown, however when it shows an actual PID is always the failed startup after an update.
I have updates configured in a cron job with the command arkmanager update --warn --update-mods. I can try specifying the instance to see if the restart then works, but also seems like a valid issue.

I think both myself and @boistordu are running Ark in Docker using https://github.com/TuRz4m/Ark-docker from @TuRz4m. I think it is more specific to the image. So retract my statement.
In the restart, some settings are correct, like the mods, but all the ones that are wrong like the Port, QueryPort, map, and such are all settings that are populated by environment variables. The main user controlled arkmanger.cfg has this:
serverMap=${SERVERMAP}                                          # server map (default TheIsland)
#serverMapModId="469987622"                                         # Uncomment this to specify the Map Mod Id (<fileid> in http://steamcommunity.com/sharedfiles/filedetails/?id=<fileid>)
#ark_TotalConversionMod="496735411"                                 # Uncomment this to specify a total-conversion mod
ark_SessionName=${SESSIONNAME}                                  # if your session name needs special characters please use the .ini instead
ark_ServerPassword=${SERVERPASSWORD}                            # ARK server password, empty: no password required to login
ark_ServerAdminPassword=${ADMINPASSWORD}                        # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers=${NBPLAYERS}                                      # Number MAX of player

And the /etc/arkmanager/arkmanager.cfg has this:
# Port config
ark_Port=${STEAMPORT}                                                     # ARK server port (default 7778)
ark_QueryPort=${SERVERPORT}                                               # ARK query port (default 27016)
ark_RCONEnabled="True"                                              # Enable RCON Protocol
ark_RCONPort="32330"                                                # RCON Port

So I'll take a look at adjusting the crontab to properly have the environment variables as well.

Ok... it seems I am chasing behind @boistordu again, he already filed an issue with the Docker image. :smile:
But in the discussion, they didn't seem to reach the conclusion it was environment related with the crontab.

ow no you are not chasing after me. I'm trying different tests from time to time but I need to come with the idea first, that's what takes time.
so yes we are using apparently the same docker image. And I still can't see why the PID should be wrong ? did you find anything in the dockerfile about tue *PID?

The docker image pins arkmanager to v1.5
I suspect that ENV lines only apply to lines executed from the Dockerfile.  cron would use whatever environment was inherited from the init system (systemd in this case).  If the docker file writes the environment to a file that is sourced by the shell, then it might be best to source that file from arkmanager.cfg

yeah but i've changet that a long time ago by compiling myself. Sorry but I still don't see which line of env in the dockerfile or the rest that could indicate to cron to use different pid than the actual process of arkmanager launching ark. But I will continue to revise the code and do some tests.

The PID isn't the actual problem. It starts the new server with completely wrong parameters, such as using TheIsland instead of TheCenter.
The PID doesn't matter since way before that is where it was wrong.

yes but then do we speak about PID problem and that there is actually 2 PID referenced in our logs. The system can't guess a PID to my knowledge, do it? And yes the start is with wrong parameters, totally agreeing with you on that but normally it shouldn't be a problem since we are changing that afterwards so shouldn't the process manager following that? ? plus normally the process managing all that is reading configurations files which precises another configuration than the first parameters no?

What I mean, is that norammly no coders would (didn't revise the code of arkmanager) base the configruation of his tool on environment var if there are local configuration files.

I agree, the issue is definitely the docker image. I was going to update it to have the crontab load the right environment variables.

I think we need to take a beat here and discuss that more.
in which way do you want to change the crontab? there is nothing in the crontab at the beginning and I don't see any line about the crontab being modified....
Did you at least first try to modify the dockerfile with good env var? Because I did and it didn't change anything a few months earlier... So that's why we need to take a beat here I think... Or maybe I don't understand what you want to modify

maybe it would be best if both of us put in clear in the cfg files all the parameters. Like that we'll see if there is any change about that.
If I recall correctly my test, there won't be any changes and we will still end up with the same problem. But maybe I'm wrong.

My goal is to change the image to work without having to do more manual setup. Will try to have a PR for the docker image tomorrow.

and what is your definition of manual setup here? we only need to define some of the parameters .... We'll see your code then but the first thing that came wrong with turzam was precisely that he didn't have the time to talk about the problems in his docker image.  Anyway tell me when you have time to talk about it since I'm not comfortable for another one who again have no time to talk about the changes.

Are you saying insinuating I am the other one who doesn't have time to talk about it?
I'll have a PR for it. In my opinion, it is easier to have comments on something concrete as opposed to something half done.
To your question though, should have it fixed by just stopping your Docker container, pulling the new image, an then running it with that image. That way it is just fixed for anyone already using the image and isn't a breaking change.

no I wasn't saying that, I just don't wan't another Turzam case, that's what I'm saying.
and you didn't seem to have understood a word of what I've said earlier. Like I said earlier, I've tested by removing env var and put the parameters in the *.cfg files directly => it hasn't change a thing, still same problem, still same logs content. And that was 3 or 4 months ago. So we can try again if you want to do that but did you at least test it already before to put in place another file ?

Did you also hard set ark_Port and ark_QueryPort in /ark/arkmanager.cfg? These ones only existed in the docker image itself and wouldn't persist between container restarts.
I was going to start a second server with an hourly server restart in cron to see if it has the same issue. Easier than waiting for the next update.

yes I've done that too. But please test on your end too, maybe i've done something wrong at that time, it's totally possible that I've done slightly mistake or something else, so please try it too.
Maybe I don't have enough knowledge to do so, but in any case I still don't see the link that you see between env var, crontab. So if it works at your end, I will be very happy to know I just didn't have the knowledge of what's happening here.

What is the output of arkmanager --version on the docker image? Is the wrong parameters issue fixed when you change the GIT_TAG=v1.5 to either GIT_TAG=master or GIT_TAG=v1.6.14
With the crontab env var issue, you will likely need to export the variables to a file and have arkmanager.cfg source that file.

docker exec ark arkmanager --version
Version: 1.6
Channel: master
Blob SHA: 42672a2c2754752a0216b86dd8a5728ab879ee6a
I know that certainly not the last commit but i didn't done an upgrade since 3 or 4 months ago.

actually I just think about something... you've changed from root to the user steam to run arkmanager correct?

/etc/arkmanager/arkmanager.cfg doesn't get the right configuration settings in our dockerfile @kroberston

@krobertson so anyway if you could enlight me about a problem that would be great. Why our docker container is the only one where copy the content of a env var in a *.cfg file is problematic?
our /etc/arkmanagerarkmanager.cfg never take the right configuration of the env var and the specificity of creating a docker container is actually to put these contents into file. So if you have a piece of information about that, I would be eternally happy about it.

and by the way the ark port and ark query port are not up to date anymore with the new config file from arkamanger 1.6.14

Posted my changes here: https://github.com/TuRz4m/Ark-docker/pull/17
From using it locally with a crontab that just did a restart, it appears to be working just fine. No other changes necessary to my existing crontab or config files.
I pushed the image as krobertson/ark:test and will switch my server over to using it, and see if the next server update goes fine.

i will continue to discuss of some specs to your changes on the comment of your modification

i will continue to discuss of some specs to your changes on the comment of your modification


Dedupe blob transaction sidecar

Can we proactively dedupe this as part of this PR?
current code in RPC types is as follows
/// This represents a set of blobs, and its corresponding commitments and proofs.
#[derive(Clone, Debug, PartialEq, Eq, Hash, Default, Serialize, Deserialize)]
#[repr(C)]
pub struct BlobTransactionSidecar {
    /// The blob data.
    pub blobs: Vec<Blob>,
    /// The blob commitments.
    pub commitments: Vec<Bytes48>,
    /// The blob proofs.
    pub proofs: Vec<Bytes48>,
}

Originally posted by @prestwich in https://github.com/alloy-rs/alloy/pull/361#discussion_r1540035588

kzg validation only works with kzg bytes and blob types.
we can dedup but this means we have c-kzg dep no longer optional because we need the sidecar for all things rpc, we could however remove the sidecar type with c-kzg and transmut when calling validate? so that we don't use c-kzg types at all

Kzg validation shouldn't occur unless the kzg feature flag is on, no?


feat: API error handling

created ErrorUtils which takes throwable and returns a good error message.
added method in view utils to show a custom snackbar with margins

fixes #266

@iamareebjamal just started on it. Please review.

@iamareebjamal please take a look at the approach. Will complete it if fine.

@iamareebjamal  please review.

@iamareebjamal please review

Please fix tests @mejariamol

@mariobehling  some tests were failing. Reverting it.

Fix the tests and create a new PR @mejariamol

@iamareebjamal about the tests. I couldn't actually get the reason. Will you please take a look at travis CI log.

There is a checkstyle violation. Run ./gradlew androidCheckstyle to know what

unused import at AttendeesFragment.java 22 . will fix it with the next PR.


GEODE-9407: Handle exception getting region names

GetMemberInformationFunction may throw RegionDestroyedException if a
hosted region is destroyed while the function is checking the region
names. This exception is logged as an "error" level message which is
confusing to users.
Catch the exception and omit the destroyed region from the list of
hosted region names.

The failing D-unit test is a known issue: https://issues.apache.org/jira/browse/GEODE-9070.


new Trove Classifier Request: Plone - Addon / Plone - Core

Request to add a new Trove classifier.
The name of the classifier you would like to add

Framework :: Plone :: Addon
Framework :: Plone :: Core

Why do you want to add this classifier?

We want to specifically query for Addons and Core Modules of the Plone Family, to use and retrieve via API.
Plone currently consists of around 400 core packageas and several hundred addon packages.

The Framework :: Plone :: Theme classifier was added back in https://github.com/pypa/pypi-legacy/issues/573 This seems to be of the same nature, and I understand that @loechel is on the Plone Foundation board (as was the requestor for the original issue), so I'm happy to add these.


browser-external no warning and bundle  replacement not safe

Describe the bug
The Code
import React from 'react'
import ReactDOM from 'react-dom'
import sax from 'sax';

console.log(sax);

ReactDOM.render(
  <div />,
  document.getElementById('root')
)

The sax require('stream')
var Stream
  try {
    Stream = require('stream').Stream
  } catch (ex) {
    Stream = function () {}
  }

vite server .vite/sax.js
var stream_exports = {};
__export(stream_exports, {
  default: () => stream_default
});
var stream_default;
var init_stream = __esm({
  "browser-external:stream"() {
    stream_default = new Proxy({}, {
      get() {
        throw new Error('Module "stream" has been externalized for browser compatibility and cannot be accessed in client code.');
      }
    });
  }
});

var Stream;
  try {
    Stream = (init_stream(), stream_exports).Stream;
  } catch (ex) {
    Stream = function() {
    };
  }

The stream_exports no property Stream
Runtime Error

Reproduction
import React from 'react'
import ReactDOM from 'react-dom'
import sax from 'sax';

console.log(sax);

ReactDOM.render(
  <div />,
  document.getElementById('root')
)

System Info
System:
    OS: macOS 11.2.3
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 464.23 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.0.0
    Yarn: 1.22.11
    npm: 7.10.0
  Browsers:
    Chrome: 96.0.4664.55
    Safari: 14.0.3
  npmPackages:
    @vitejs/plugin-react: ^1.0.0 => 1.1.0
    vite: ^2.6.4 => 2.6.14

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

use https://github.com/lddubeau/saxes instead which is an fork of sax and doesn't rely on node builtins


babel polyfill is instantiated twice in watch mode, which results an error

Either I include the babel polyfill in the --require helper.js or include with --include babel-polyfill, when I change a file in watch mode, the tests fails
"test": "mocha-webpack --include babel-polyfill test/**/*.test.js --webpack-config webpack.config.js --require ./test/helpers.js --recursive --watch",

I start the script, all test passing, and then I change a file, for example add a new line, and then I get this error:
RUNTIME EXCEPTION  Exception occurred while loading your tests
Error: only one instance of babel-polyfill is allowed

Use --require


Server side websocket is not connected

Thanks for the good work. In local host worked perfectly. But i tried to move live server websocket is not connected. So please guide me the installation from server.

Hi, thank you for your question.
I have some a question.
What service did you use to run server app? (ex: ec2, gcp, heroku, now, glitch ?)
If you use ec2 or gcp, check your security group and tcp ports.
Currently, example signaling server uses 8080, so please open 8080 port for server.

Hi tkmn0,
Thank you for your quick reply.
I am using ec2 Server. I ll check and let u know.

Thanks thmn0 it's worked


Rework Models and Add Company register components

Description
Reworks user models from a team programming session.
Passes is_employer field on JWT payload for conditional rendering in React
Adds a company register/landing page to the React app
Fixes # (issue)
Employer/Employee user distinction and Django inheritance patterns
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

New button:

Company landing page:

Register API call and response in Postman:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

"post a job, change a life"  Awesome.


Write Vagrant bootstrap.sh for CLTK and CLTK API

Building upon  Manvendra's script to automate Nginx: https://gist.github.com/manu-chroma/4a6f3b6b27aa49683c67b9fb0b23d493
Let's add the basic setup, too:

Make user cltk with sudo privileges
Create a Python 3.5 virtualenv venv in cltk's home dir
Install cltk and, with the cltk, import the Perseus corpora (https://github.com/cltk/latin_text_perseus ;  https://github.com/cltk/greek_text_perseus )
Clone cltk_api and install its requirements
Launch cltk_api as a service

Relevant Vagrant example here: https://www.vagrantup.com/docs/getting-started/provisioning.html
Please reach out for anything you get stuck on, we're here to help.

@kylepjohnson Do you want a vagrant setup script specifically or a general bash script ?

Vagrant uses plain Bash scripts anyway, so what you do will work with and without Vagrant. Though I recommend using Vagrant from the start. Also we'll want this to be accompanied with a Vagrantfile in the file version.

Got it! :+1:

@kylepjohnson I've divided the bootstrap script into multiple small scripts, each of which would serve the features you've mentioned in the issue.
I was wondering where should I put all these scripts and the vagrantfile ?
Should I create a new repo for vagrant and associated bootstrap scripts ?
P.S I'm still working on them. Not completed yet.

Does the cltk user need sudo privilege in order to function as the application's home / run directory?

manu-chroma commented 8 days ago
@kylepjohnson I've divided the bootstrap script into multiple small scripts, each of which would serve the features you've mentioned in the issue.
I was wondering where should I put all these scripts and the vagrantfile ?
Should I create a new repo for vagrant and associated bootstrap scripts ?

My recommendation (for discussion): create a new repository called cltk_server_builds (or something similar if you have a naming schema) where everything needed to build a specific type of server will be aggregated into a folder by the name of the type of server/service first, then the method of building (e.g., docker, vagrant, ...) and then the third level the actual stuff for the build. If there are generic components that will be used for multiple builds, they can go in a "shared" folder at the server/service level. Caveat -- I need to make a test to see whether Vagrant is allowed to look outside of it's home directory for resources, or to follow symlinks. If not, the shared concept must die. Otherwise, if there are components that will be common to multiple server builds then it makes sense to share them instead of make multiple copies.
Example:
/cltk_api-server/
/docker-build/
/.gitkeep
/vagrant-build/
/scripts
/nginx_config.bash
/some-other-script.bash
/vagrantfiles
VagrantFile
/cltk_reader/
/.gitkeep
/shared/
/scripts/
cltk_user.bash

Does the cltk user need sudo privilege in order to function as the application's home / run directory?

@ferthalangur sudo will be required in some places. For example, to install necessary packages from apt-get such as nginx
Apart from that, to create a config file for nginx, we'll need to have sudo privilages. The file is present in /etc/nginx/ directory.
It is assumed that the complete server setup will be done by the cltk user through series of bash scripts.
I really like having all types of server build files in one place. @kylepjohnson You can create a new repository, I'll send a PR creating the basic folder structure and adding necessary files ?

Hi Guys, I'm obviously still catching up.
@manu-chroma Here's a repo for Vagrant: https://github.com/cltk/cltk_vagrant. Do whatever you want with it!
As for the sudo issues, how about we make two users? One with sudo for installation and another (say, cltk) just for running code (core, api, and frontend). Thus we'd have runtime security. @ferthalangur would that work?

@kylepjohnson @manu-chroma  ... Yes, that would work very well. On the production machines that we set up, we usually have a user called administrator that has sudo powers for installation, modifications, monitoring, etc. That would be the account vagrant uses to build the applications and create the cltk user.

Thanks, Rob! Let's plan on using an admin and cltk users as above.

@kylepjohnson @ferthalangur
I'll modify the scripts accordingly! :smile:


german translation of 1/2

add german translation

@afink70 not sure if this is the problem with google translate, but somehow the word "contract" to converted to "mission" after translation.
German: "Jetzt, wo wir eine Hülle für unseren Auftrag haben, wollen wir erfahren, wie Vyper mit Variablen umgeht."
English (Generated): Now that we have a shell for our mission, let's learn how Vyper handles variables.
English (Expected): Now that we've got a shell for our contract, let's learn about how Vyper deals with variables.
As "contract" is an important term in smart contracts, we need to preserve the word after the translation.
German: Zustandsvariablen sind permanent im Auftragsspeicher gespeichert.
English (Generated): Similar issues with terms like "state variables" and "contract storage".
English (Expected): State variables are permanently stored in contract storage.
Can you look through such issues and update your pull request? Let me know if you need any help :smile:

Okay, sorry, I'll change it later. The problem is from my point of view the german language, you can translate a word into some others. Do you mean A contract is a legally binding document that recognizes and governs the rights and duties of the parties to the agreement with 'contract'? I translated it and understood it different.
Zustandsvariablen means
state + variable
,I'll change it to Job memory

Okay, sorry, I'll change it later. The problem is from my point of view the german language, you can translate a word into some others. Do you mean A contract is a legally binding document that recognizes and governs the rights and duties of the parties to the agreement with 'contract'? I translated it and understood it different.
Zustandsvariablen means
state + variable
,I'll change it to Job memory

@afink70 Here contract has a bit different meaning. Basically, a single file of Vyper is called a contract.
So, basically contract is a keyword.

@vasa-develop I think its ready to merge, I changed it to contract & #24 should be right as it was :)

Will merge it tomorrow :)


Installer

It would be cool to have some kind of automated installer for the project.
Something like "./installer.sh" which will take care of everything needed (enable/disable plugins, ask for api key) and much more.
What do you think?

We could use npm as starting point

Working on this. I'll make a script with read, which is the same module used for npm init.

TODO (as discussed on chat): figure out how to fetch metadata from plugins when they require missing modules.

Closed in b639afe.


[ISSUE #3831] Swapping mapped-byte-buffer to save memory on a system with extra-large disks.

Make sure set the target branch to develop
What is the purpose of the change
Swapping mapped-byte-buffer to save memory on a system with ultra-large disks(more than 10TB).
Brief changelog
periodically clean up the mmap of "cold data".
Verifying this change
pass ut.
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #3847 (40a86b3) into 5.0.0-alpha (de76e06) will increase coverage by 0.09%.
The diff coverage is 85.18%.

@@                Coverage Diff                @@
##             5.0.0-alpha    #3847      +/-   ##
=================================================
+ Coverage          46.50%   46.59%   +0.09%
- Complexity          5330     5349      +19
=================================================
  Files                641      641
  Lines              44348    44375      +27
  Branches            6117     6121       +4
=================================================
+ Hits               20624    20677      +53
+ Misses             20998    20971      -27
- Partials            2726     2727       +1

Impacted Files
Coverage Δ

...org/apache/rocketmq/store/DefaultMessageStore.java
58.45% <85.18%> (+0.68%)
:arrow_up:

...rocketmq/broker/filtersrv/FilterServerManager.java
20.00% <0.00%> (-14.29%)
:arrow_down:

...che/rocketmq/acl/plain/PlainPermissionManager.java
70.53% <0.00%> (-1.34%)
:arrow_down:

...ava/org/apache/rocketmq/filter/util/BitsArray.java
59.82% <0.00%> (ø)

...etmq/client/latency/LatencyFaultToleranceImpl.java
50.00% <0.00%> (ø)

...mq/client/impl/producer/DefaultMQProducerImpl.java
46.13% <0.00%> (+0.24%)
:arrow_up:

...he/rocketmq/client/trace/AsyncTraceDispatcher.java
78.21% <0.00%> (+0.49%)
:arrow_up:

...main/java/org/apache/rocketmq/store/CommitLog.java
67.95% <0.00%> (+0.49%)
:arrow_up:

...va/org/apache/rocketmq/store/util/PerfCounter.java
65.96% <0.00%> (+1.04%)
:arrow_up:

...n/java/org/apache/rocketmq/store/ConsumeQueue.java
67.20% <0.00%> (+1.06%)
:arrow_up:

... and 4 more

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 de76e06...40a86b3. Read the comment docs.

Coverage increased (+0.09%) to 52.707% when pulling 40a86b371132090f76ebe54c86837c71583297d8 on Erik1288:5.0.0-alpha-swap-page-table into de76e06d6da8e8646d2ac59ea061e8dc2653aae8 on apache:5.0.0-alpha.

The commits are confused, we have 126 commits with only two simple code segments. I suggest squashing these commits to one commit.

More suggested comments:

Add some comments for interface Swappable, it's difficult to understand the specific meaning of swapMap and cleanSwappedMap directly.
Add unit tests for this PR, and the implementations of Swappable.
Maybe only MappedFile and MappedFileQueue implement Swappable is enough, it's a little strange that CommitLog and ConsumeQueueStore also is a subclass of this interface.

And a technical question:

We mapped twice for writing when the old buffer hasn't been cleaned, is there a write conflict problem in this situation? Although the cleaner won't clean the last writing file, the file doesn't know it.


Add a visualizer based on Visual Blocks to breadboard-web

Use Visual Blocks to display the graph of a breadboard. For now, you need to manually add the url query parameter &visualizer=visualblocks to activate the new visualizer, but we can add a button to switch between them.
Also, there's a known issue with the Visual Blocks custom element where you need to reload the page after switching graphs. This should be fixed soon.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[x] Tests pass
[ ] Appropriate changes to documentation are included in the PR

Ah, sorry for the merge conflicts, @mattsoulanille :(

LGTM


How to persist values of edittext in childHolder when scrolling

I seem to lose all my data in edittext when scrolling

I'm using this library too. I have ExpandableRecyclerView inside default RecyclerView. The issue is when i'm open one item (in ExpandableRecyclerView) and scrolling my RecyclerView that is the parent of ExpandableRecyclerView the state is loss, so after i'm scrolling back to this item it's closed.

you need to keep track of the group state (expanded / collapsed) and then set it back again in the onBindGroupViewHolder() method


Hacktoberfest 2022

Please add my file to in your repository with label hacktoberfest.

Hi @anshika9946  , You need to add your project details in the main README.md File
You can follow this Example: example-readme-details


add cases for MAC addresses in EVE-JSON

This relates to a PR in the main suricata repo (https://github.com/OISF/suricata/pull/4660). It tests the correctness of output for flow and packet events when facing multiple or single MAC addresses per source/destination.

New PR: #237


[bug report] iPhone failed to register 5G signal since beta.8

Hi @opa334
This might be a bug since beta.8, hence this report.
A friend of mine complains that his iPhone 12 Pro Max/iOS 15.1.1 failed to register 5G signal with the China Telecom carrier. This problem emerges first on beta.8, please kindly give a check when you're available.

Settings - Cellular network - Cellular number - Enable this number - Off - On, just do it once

Settings - Cellular network - Cellular number - Enable this number - Off - On, just do it once

It works！
Thank you.


Automatic display of warning message (No blocks minted > 45 mins)

What would you like to be added:
Similar to https://github.com/DeFiCh/wallet/issues/1849. An automatic message should be displayed when there is no new blocks minted for 45 mins.
Display Message
We are currently investigating a syncing issue on the blockchain. View more details on the [DeFiChain Status Page](https://status.defichain.com/).

Note:

If possible try explore ways to reuse data that is already stored in the state to reduce number of api calls. It may be possible to use data from stats. However, it may not contain the last block datetime.

/triage accepted
/area ui-ux

@joeldavidw ?

Let's wait for the status status api to get deployed first. Then we automate this by checking the overall status endpoint.

Let's wait for the status status api to get deployed first. Then we automate this by checking the overall status endpoint.

Make sense

Same requirements from LW. Need to do it on Scan also - https://github.com/DeFiCh/wallet/issues/3034


reuse existing name for upgrade flow

https://github.com/open-cluster-management/backlog/issues/13247
Signed-off-by: Marco<EMAIL_ADDRESS>

/lgtm


Save null  when proxy_url is undefined(deleted)

Fixes-Issue: AAH-174
Details:
If a proxy URL has been configured for a remote, it is not possible to remove it. Emptying the field and saving simply leaves the previous value in place. You can change the value, just not remove it.

I'm currently able to reproduce this issue, and I also identified an additional bug:
When editing the rh-certified repo, if I go in to add a proxy url, I need to put in a token. Then, if I go in to remove the proxy url, I can't save the newly edited repo settings because a red "When specifying 'auth_url' you must also specify 'token'." error appears at the bottom of the settings window.

I'm currently able to reproduce this issue, and I also identified an additional bug:
When editing the rh-certified repo, if I go in to add a proxy url, I need to put in a token. Then, if I go in to remove the proxy url, I can't save the newly edited repo settings because a red "When specifying 'auth_url' you must also specify 'token'." error appears at the bottom of the settings window.


[CC-26] ADD RDF Checking

Fixes

Fixes #96  by @TimidRobot
Description

Adds functionality for checking individual license rdfs.
Technical details

pipenv run link_checker --rdf
Runs link checking for each license's rdf.
pipenv run link_checker --rdf --index
Runs link checking on index.rdf
Tests

pipenv run pytest
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

See comments for requested changes.
Non-blocking (I'll create new issues if you don't want to tackle them in this PR):

argparse sub-commands should be used for be deed, legalcode, and rdf. --local should be both a global and sub-command option (that inherits from global option). It may also be worth having a --no-local option for the sub-commands (ex. if a user wants to use local license files but test remote index.rdf)
script should be able to check everything (ex. both index.rdf and remote license RDFs) in a single run

Now checking index.rdf along with everything else when no arguments are given when running link_checker.

@Timid Robot I have updated cc-26 to have sub-commands . I have only not added the --no-local subcommand. If possible, can you speak a bit more about this use cases. I feel based on the options we are providing with sub-commands a user could write a pipfile script that could specifically cover what the --no-local subcommand would provide. I feel --no-local could be useful if a user only want to run link_checker --local --index-no-local or something like that


fix: fix non upper bounded types

Codecov Report
Base: 52.87% // Head: 52.87% // No change to project coverage :thumbsup:

Coverage data is based on head (ad2d651) compared to base (d0a2807).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##               main      #31   +/-   ##
=========================================
  Coverage     52.87%   52.87%
  Complexity       61       61
=========================================
  Files            21       21
  Lines           331      331
  Branches         34       34
=========================================
  Hits            175      175
  Misses          155      155
  Partials          1        1

Impacted Files
Coverage Δ

...jailgens/enchanted/converter/BooleanConverter.java
100.00% <ø> (ø)

...et/jailgens/enchanted/converter/ByteConverter.java
100.00% <ø> (ø)

...ilgens/enchanted/converter/CharacterConverter.java
100.00% <ø> (ø)

.../jailgens/enchanted/converter/DoubleConverter.java
100.00% <ø> (ø)

...t/jailgens/enchanted/converter/FloatConverter.java
100.00% <ø> (ø)

...jailgens/enchanted/converter/IntegerConverter.java
100.00% <ø> (ø)

...et/jailgens/enchanted/converter/LongConverter.java
100.00% <ø> (ø)

...s/enchanted/converter/SharedConverterRegistry.java
100.00% <ø> (ø)

...t/jailgens/enchanted/converter/ShortConverter.java
100.00% <ø> (ø)

.../jailgens/enchanted/converter/StringConverter.java
100.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


UTOPIA-749: Updating API and WebApp Replicas for Application Resiliency

Description
This PR includes the following proposed change(s):
UTOPIA-749: Updating API and WebApp Replicas for Application Resiliency
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Refactoring / Documentation
[ ] Version change

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Development Dependency Working Agreement

[x] My code DOES NOT include the importing of new dependencies into the DPIA ecosystem
[ ] My code DOES include the importing of new dependencies into the DPIA ecosystem
If new dependencies are being introduced to the DPIA ecosystem:
[ ] The functionality of the dependency drastically reduces code complexity and makes my changes more easily maintainable and readible
[ ] The dependency being introduced does not contain multiple layers of nested dependencies introducing maintainability complexity to the DPIA ecosystem

Frontend Development Changes

[x] N/A
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to project documentation or diagrams that reflect my changes
[ ] New and existing unit tests pass locally with my changes
[ ] My code follows Airbnb React Style Guidelines

API Development Changes

[x] N/A
[ ] I have performed a self-review of my own code
[ ] My code follows standards and practices outlined in the BC Government API Development Guidelines
[ ] New and existing unit tests pass locally with my changes
[ ] My changes includes Swagger documentation updates that reflect the changes I am introducing

Definition of Done

Staging this Pull Request for post v0.8.0 release


Would you accept PR to clean up code are remove all the messages

Either with suppressions or some code changes? Feel free to close if not.

I have already updated it to .Net 6 with VS 2019 16.11.0 preview 1 and done all the recommended refactoring's if your interested. About 1000 changes. So far all the examples work. Going after it today with  ReSharper tonight. Let me know if anyone is interested since I did all that work already.

Yes I did it to, but I will take yours. ReSharper is currently not working on my machine. I will close.


Git sources cannot be overridden

[dependencies]
cargo = { git = "https://github.com/rust-lang/cargo" }

[replace]
"cargo:0.20.0" = { path = "cargo" }

No, it doesn't work.
warning: package replacement is not used: https://github.com/rust-lang/crates.io-index#cargo:0.20.0

For git sources you need to specify the URL as well, does it work then?

Can you clarify about the format? Simply specifying the URL as the version was rejected as invalid syntax.

The documentation for the replace section indicates keys are package id specifications which has docs and examples of package ids.

This was resolved with the following syntax:
[replace]
"https://github.com/rust-lang/cargo#0.20.0" = { path = "cargo" }

Thanks for pointing me to the right direction.


Fix a false positive for Rails/WhereMissing when left_joins(:foo)and where(foos: {id: nil}) separated by or, and

This PR is fix a false positive for Rails/WhereMissing when left_joins(:foo) and where(foos: {id: nil}) separated by or, and.
It is necessary to consider the following cases, which are separated by or or and.
Foo.left_joins(:foo).or(Foo.where(foos: {id: nil}))
Foo.where(foos: {id: nil}).and(Foo.left_joins(:foo))

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[-] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

Thank you for your review. I updated this PR.

Thanks!


(chore) Add support for preact x

This adds support for preact x but depends on this PR from preact https://github.com/preactjs/preact/pull/1901. After that's merged and released we could merge this one as well.
~Adds +3.71kB 😞  more than double it's current size~
~Adds +0.89kB 😄  now we're talking~
Adds +0.98kB 🤔

This will fail until https://github.com/preactjs/preact/pull/1901 is merged

This is gonna be working when https://github.com/preactjs/preact/pull/1924 it's gonna get released

Also this updates the react-redux version and redux with the latest ones.

Folks will be glad to have this working in X. One question still in my mind though: do we know why aliasing react:preact doesn't work, instead requiring all of compat?  I'd really love to quantify that delta.

Hey @developit that's a great point! Unfortunately it seems that the build size increases if I would add the imports by hand and re-export them. 🤷♂

Ok, well, what are the alternatives? Where to get Provider and connect from?


Python client: custom timeout for POST

That's where the timeout is really needed...

Code change looks fine, can you check the travis failure is not caused by your change before merging?

Seems like flakiness in the C++ tests - all Python tests pass.


Bazel JDT LS extension doesn't support the command 'java.bazel.connectProcessStreamSocket'

@guw long time no speak! Very sorry I went a bit silent earlier this year (too busy).
I noticed that you have done much work here, and thought I would give it another go.
https://github.com/enola-dev/enola is the project I have tried to open with it.
Using the v1.23.109211202 that's currently published as Preview, it's failing for me, with this on Output for Bazel:
2023-09-29 19:06:47.887 [info] Bazel log server listening on port 46083
2023-09-29 19:07:08.100 [error] Failed to register port with BLS: Bazel JDT LS extension doesn't support the command 'java.bazel.connectProcessStreamSocket'.

and various errors on the Language Support for Java, among which the following may be most interesting:
[Error - 7:07:08 PM] Sep 29, 2023, 7:07:08 PM Problems occurred when invoking code from plug-in: "org.eclipse.jdt.ls.core".
Bazel JDT LS extension doesn't support the command 'java.bazel.connectProcessStreamSocket'.
java.lang.UnsupportedOperationException: Bazel JDT LS extension doesn't support the command 'java.bazel.connectProcessStreamSocket'.
	at com.salesforce.bazel.eclipse.jdtls.commands.BazelJdtLsDelegateCommandHandler.executeCommand(BazelJdtLsDelegateCommandHandler.java:76)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:613)
	at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)

(...)

[Error - 7:07:13 PM] Sep 29, 2023, 7:07:12 PM Error occured while building workspace. Details:
 message: The import picocli cannot be resolved; code: 268435846; resource: /home/vorburger/git/github.com/vorburger/enola/cli/src/main/java/dev/enola/cli/CLI.java; line: 20

(...)

message: CommandLine cannot be resolved to a type; code: 16777218; resource: /home/vorburger/git/github.com/vorburger/enola/cli/src/main/java/dev/enola/cli/CLI.java; line: 29

INFO: -<- Done loading .configSourceProviders extension point -<-
[Error - 7:14:12 PM] Sep 29, 2023, 7:14:12 PM core/lib/src/test/java/dev/enola/core [in _main] does not exist
core/lib/src/test/java/dev/enola/core [in _main] does not exist
Java Model Exception: Error in Java Model (code 969): core/lib/src/test/java/dev/enola/core [in _main] does not exist
	at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:550)
	at org.eclipse.jdt.internal.core.PackageFragmentRoot.getUnderlyingResource(PackageFragmentRoot.java:761)
	at org.eclipse.jdt.internal.core.PackageFragment.getUnderlyingResource(PackageFragment.java:426)
	at org.eclipse.jdt.internal.core.Openable.getUnderlyingResource(Openable.java:349)
	at org.eclipse.jdt.internal.core.CompilationUnit.getUnderlyingResource(CompilationUnit.java:986)
	at org.eclipse.jdt.ls.core.internal.handlers.BaseDiagnosticsHandler.collectNonJavaProblems(BaseDiagnosticsHandler.java:149)
	at org.eclipse.jdt.ls.core.internal.handlers.BaseDiagnosticsHandler.endReporting(BaseDiagnosticsHandler.java:135)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.reportProblems(ReconcileWorkingCopyOperation.java:148)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:112)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:740)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:806)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1325)
	at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:320)
	at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:283)
	at org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler$PublishDiagnosticJob.run(BaseDocumentLifeCycleHandler.java:739)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

+1 that I'm also running into this issue. I'd love to provide any debugging support needed!

I don't think it's the project. It looks like a problem with the plug-in and LS setup. To confirm, you have the latest version of the RedHat Java extension?

Fixed with
https://github.com/salesforce/bazel-eclipse/commit/2025b7872d160d5733b7652651e8cf4ca06790e3 (available as 1.23.110021004)