Update Assertion strategy to latest specs

The JWT bearer assertion strategy is no longer described by the OAuth 2.0 core spec, as it was in v10 of the draft. Instead, a separate "JSON Web Token (JWT) Profile" draft covers this strategy.
The two significant changes are that sub is now used in place of prn to refer to the principal subject of the assertion, and the assertion type is now described by two parameters, grant_type and assertion_type, instead of just grant_type.
I also allowed the algorithm to be overridden via params[:algorithm], in case for example RS512 should be used.

Closed by #220


Accept karma.conf.cjs as configuration file

Currently, karma looks for these configuration files:

./karma.conf.js
./karma.conf.coffee
./karma.conf.ts
./.config/karma.conf.js
./.config/karma.conf.coffee
./.config/karma.conf.ts

I would like to add karma.conf.cjs to this list (and maybe .config/karma.conf.cjs).
A .cjs extension makes sense in project with type: "module".
Eslint already searches for a .cjs configuration file for example.

I think we should add both.
PR is welcome :)


updating generate.cmd with network.json pointing the specs repo commi…

@bganapa,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

what is that hash value, 52cb71d6deecdfddccbdedc3f16a6d6d5bf33b00?

@kybeak it points to the commit in specs repo where we have bgp settings added
https://github.com/Azure/azure-rest-api-specs/commits/52cb71d6deecdfddccbdedc3f16a6d6d5bf33b00/

@azuresdkci add to whitelist


0.0.5-SNAPSHOT not in Maven repository

0.0.5-SNAPSHOT cannot be found in https://oss.sonatype.org/content/repositories/snapshots/com/amazonaws/aws-dynamodb-encryption-java/

@jbalbien sorry for the delay on this. I don't (personally) have access to publish, so I'll find someone who does.

Any updates on this @SalusaSecondus ? We'd like to use SNAPSHOT 0.0.5 in our new project but it's not simple currently to include it in our project which uses Gradle as the Maven repository listed latest version still seems to be 0.0.3-SNAPSHOT?

I just repoked this. The delay here was my fault as we got side-tracked in a discussion of patches related to handling document types and lost track of this "Yeah, that's good, but let's get this version out there."
Sorry about that.

I apologize for the very long delay on this. I have gotten the credentials so I can manage the publishing process myself.  It's up there.


Hard finding spot in PDF with large margins

From someone using the website: "Would it be interesting to have a small scale preview in a corner, showing you where you are in the document? You know, like a small rectangle and a red dot or something representing the mouse and its position on the canvas. I cut my first project today, using this tool - 1/4 of the patern had no pieces, all was white, I had no idea where I was. With Adobe, I zoom out, move the page, and then zoom back in. "
I'm thinking maybe for now it might be easiest to at least open the pdf so the transform origin is centered with the calibration grid so at least you start in the middle. Thoughts?

Sure! It does seem like most pattern pieces would be centered, so this approach makes sense to me.


FileNotFoundError on compile

I am confident that all dependencies are met, I have python 3.11, vs, cmake, git and ninja
I ran py -m pip install -r requirements.txt
I opened x64 native tools, and cd'd into the gdcef directory
I then ran py build.py from the x64 native tools terminal
ERROR

C:\Users\Kian W\Downloads\gdcef\addons\gdcef>py build.py
←[32m[INFO] Checking cmake version ...←[00m
Microsoft (R) C/C++ Optimizing Compiler Version 19.35.32215 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.
win.cc
Microsoft (R) Incremental Linker Version 14.35.32215.0
Copyright (C) Microsoft Corporation.  All rights reserved.
/out:win.exe
win.obj
[INFO] MS C++ Compiler OK
[INFO] Compiling Godot C++ API (inside C:\Users\Kian W\Downloads\gdcef\addons\gdcef\thirdparty\godot-3.5\cpp) ...
Traceback (most recent call last):
File "C:\Users\Kian W\Downloads\gdcef\addons\gdcef\build.py", line 479, in
compile_godot_cpp()
File "C:\Users\Kian W\Downloads\gdcef\addons\gdcef\build.py", line 365, in compile_godot_cpp
run(["scons", "platform=windows", "target=" + GODOT_CPP_TARGET,
File "C:\Users\Kian W\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Kian W\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1024, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\Kian W\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1493, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
any ideas, I got this to compile on ubuntu wsl, but that only generates linux files ?

@KianWalsh you are using Windows, right ? I ve never tested with WSL. To be sure:

Ensure VS2022 is installed.
Open an x64 Native Tools Command Prompt for VS 2022, with Administrator privilege (this should be available in the start menu under Visual Studio 2022). This ensures the environment is correctly set to use the VS tools.

Does that solve your case ?

C:\Users\Kian W\Downloads\gdcef\addons\gdcef>py -m pip install scons
Requirement already satisfied: scons in c:\users\kian w\appdata\local\programs\python\python311\lib\site-packages (4.5.1)
Requirement already satisfied: setuptools in c:\users\kian w\appdata\local\programs\python\python311\lib\site-packages (from scons) (
I got scons from pip.  cmake, py and ninja in my path, and am running build.py through x64-build-tools as administator, no luck

@KianWalsh The line 365 is the one causing you trouble. When googling "The system cannot find the file specified subprocess.py" https://forum.codewithmosh.com/t/problem-with-subprocess-run-the-system-cannot-find-the-file-specified/17498 the guy is calling unknow command so I think scons is not callable (while installed scons cannot be found by your system).
You can try manually: Go to the subfolder godot-cpp and call:
scons platform=windows target=release --jobs=4

I guess it will fail

Hum ok I have too little info to find a solution. Maybe you can reach me on Discord, share your screen and type in front of me your commands in direct. this can help me finding a solution

I'm closing since I have not enough feedback. Reopen this ticket if needed or create a pull request if you find a solution


add an image crop utility function

Here's a simple function to crop an image into a bounding box. I needed this for feature augmentation, and figured it was useful independently for keystone.

@etrain Should we make a new node for this ?

My thoughts exactly - a "Cropper"? it's implementation can be to call into this function directly.

I'm going to go ahead and merge this. I've created #211 to track creation of a Cropper but I think this is useful enough on its own.

Thanks @stephentu!


Cropping Image and Thumbnail Preview on standalone button integration page not working

Hello Everyone, I am using lfm v2.0.0-alpha4 on laravel 5.4.*, i used to standalone button to add laravel file manager to my page, when i click the button, I can upload image but when i try to crop the image doesn't show up just the broken image icon, also on the page the preview thumb also displays a broken image. please find attached screenshots, I changed auth middleware in web.php to a new guard i created, also in lfm.php.

Really Sorry, this might not be an issue, i found the demo page, I'll compare what i have with what is in there


Deploy on raspberry？

Hello, I want to deploy this on my raspberry PI 4B, but an error is occurred that "The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested". I wonder if you could provide the arm version or Dockerfile available?

Thanks @zfhxi we'll look into it.

I too would appreciate this!
Perhaps Docker buildx would be useful here: https://docs.docker.com/buildx/working-with-buildx/


Wallet revoke permissions

Description
This pull request implements the "wallet_revokePermissions" JSON-RPC method, which allows revoking permissions from the user's wallet. It provides the flexibility to revoke all permissions for a specified invoker or revoke permissions for specific account addresses.
Changes Made

Implemented the "wallet_revokePermissions" method in the relevant service class.
Added support for optional "accounts" parameter to specify account addresses to be revoked.
Origin parameter will alway be passed implicitly to "wallet_revokePermissions" method.
Updated the documentation to include details about the new method, its parameters, and its response structure.
Added examples demonstrating how to revoke all permissions and revoke permissions for a specific account address.

If this is going to change the public JSON-RPC API, then a MIP needs to be created for this change. Going through the process would further facilitate the review/acceptance/implementation cycle.


Feature/lidar cleanup

Baby's first pull request:

Refactoring of existing lidar code
Swapped DepthCameras to target a single Texture2DArray instead of one 2DTexture per cam
Addition of a readonly property for the unity editor
Swapped configuration of LidarScript to be more "datasheet plug&chug":

Abstracted away camera/frustum resolution params, which are now inferred from an error tolerance instead

Added a significant amount of comments for vectors to explicitly state which coordinate system they are in:

The transitions between left and right handed frames by flipping the z component
Whether depth params are in unity's [1->0] or OpenGL's [-1 -> 1]

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Magne Sirnes:x: magnarok49Magne Sirnes seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Any update planed?

Hi,
I like your api. I tried it with Chartjs 2.7.1 but unfortunatly it does not seem to be compatible. I can see that you are using the 1.2 version of the library. The readme example gives this:
TypeError: (new Chart(...)).Bar is not a function

Do you plan to update and maintain this lib?

yeah what is going on with this?
And updates planned. It doesn't seem to work currently Even after using pip install it still appears to show as a missing module.

@JokerMartini : I started a little lib to do the job, as a subset of my main data analytics lib.
I could not find a maintained version of a python lib to generate Chartjs charts, so I started rolling my own. It is currently on a very primitive state and limited.
I would love some help or to collaborate on a serious project about python and Chartjs. Honestly I don't have much time and a big motivation for Chartjs support as i mostly work with Bokeh and Holoviews, this little lib is still just a  buggy workaround for now, no more. I wish some serious project to emerge or some old ones like this one here to revive!


Perhaps just a visual bug?

tooltip states 'per second' as does the preferences (this is brand new factory), yet the rate button says 'item/m'.  Perhaps I am in some corner case that wasn't accounted for where a factory was started with 'per minute', preferences were changed to per second, and a new factory was created yet the visual bug persists.

Appreciate the details, and sorry for the late reply. This system was partially reworked for 2.0, so I am pretty sure this was fixed as part of that. If it happens again once 2.0 drops, please open up a new report.


Lazify MainView & TabNavView

At the start of the app, views were getting created earlier than needed, and then put into closures again. I switched to storing view-creating closures and using them just-in-time.

@JessyCatterwaul looks like there are some merge conflicts to resolve

@0xTim Rebased!


(Swift 3) Make performAndWaitOrThrow rethrows and @noescape

Swift 3 allows forced conversion between @escaping functions and not. You can then use what DispatchQueue.sync(execute:) does to allow sync to return and/or rethrow values:
extension NSManagedObjectContext {
    func performAndWaitOrThrow<Return>(_ body: () throws -> Return) rethrows -> Return {
        func impl(execute work: () throws -> Return, recover: (Error) throws -> Void) rethrows -> Return {
            var result: Return!
            var error: Error?

            // performAndWait is marked @escaping as of iOS 10.0.
            typealias Fn = (() -> Void) -> Void
            let performAndWaitNoescape = unsafeBitCast(self.performAndWait, to: Fn.self)
            performAndWaitNoescape {
                do {
                    result = try work()
                } catch let e {
                    error = e
                }
            }

            if let error = error {
                try recover(error)
            }

            return result
        }

        return try impl(execute: body, recover: { throw $0 })
    }
}

Used like:
let value: Int = try context.performAndWaitOrThrow {
    throw SomeError()
}

Added in 2.0.0


convert docs Dockerfiles to use docs/base:oss

speeds up make docs, and reduces the svn checkout timeout issue.

LGTM
Ping @moxiegirl

LGTM

@thaJeztah @jamtur01

LGTM

LGTM

LGTM
think that's enough LGTMS :joy:


Document the need for aws-creds in AEG

This is an automated message:
You can preview this docs PR at http://402.docs-pr.validatedpatterns.io
Note that they get generated every five minutes, so please wait a bit.

@abhatt-rh @danmacpherson Trivial PR To add document the need for the additional field in values-secret in main and branch 1.3


[test] Mark IsolatedAny tests are requiring asserts compiler

IsolatedAny is an experimental feature, so the tests require an asserts compiler to pass.

@swift-ci please test


js release notes for the 2021-08 release

This is an automated pull request to gather the js release notes for the 2021-08 release. See Producing Release Notes for details of the processing.

I just merged the main branch to fix the build error caused by removing a folder in the azure-sdk-for-java repo.


Array support

I added this from @shabanovd fork just so I can keep track of the progress. It isnt ready yet.

@shabanovd I added this so I can keep track of your progress and have a place to comment. Hope you don't mind.

@freemo tests do pass locally and I have no idea why it fail on travis. Also, I don't know what to do with codacy complains.
I think that array feature ready to go and I want to switch to complex numbers math feature.
Let me know if something have to be change here.

btw, I do believe that complex number and (pure) vector types will use similar implementation mechanism because of needs to support java runtime.

@shabanovd I have an algorithm I wrote a while back that uses vector based math. I think I'd like to use your code contribution as a new entry in the example project implementing my algorithm.
http://jeffreyfreeman.me/hyperassociative-map-explanation/
As for the java runtime support perhaps we can figure out a work around there. Maybe some custom class that lets one choose the implementation but when running in java would both be backed by the same implementation but on the GPU it makes the distinction.

@shabanovd  I'm working on the travis error your seeing, it isnt related to your pr though. Does it pass locally ad is ready for review/acceptance?

@freemo yes, it's ready.
Btw, I add way to avoid __global flag on method's parameter by name suffix _$private$
Also, I rename "vector" to "array" because "vector" going to be native vector feature.

@shabanovd I fixed the issue with travis failing. Can you please merge in master and push to update this pull request so we can verify the tests pass. Thanks.

@shabanovd also if you dont mind please squash your commits where appropriate (not a big deal if you dont as i will do that for you when i approve, but its good practice especially if you feel the commits shouldnt be squashed into a single commit).

@freemo done

Codecov Report

Merging #63 into master will increase coverage by 0.29%.
The diff coverage is 71.42%.

@@             Coverage Diff              @@
##             master      #63      +/-   ##
============================================
+ Coverage     46.63%   46.93%   +0.29%
- Complexity      830      849      +19
============================================
  Files            57       57
  Lines          9358     9386      +28
  Branches       1510     1527      +17
============================================
+ Hits           4364     4405      +41
+ Misses         4552     4538      -14
- Partials        442      443       +1

@shabanovd Add yourself to the contributors file, bump the ersion of the project from 1.4.2-SNAPSHOT to 1.5.0-SNAPSHOT, also in the changelog change the "1.4.2" heading to "1.5.0" and add a bullet point under there describing your new feature in detail (as many lines as it takes to describe what you did, no need to go crazy though).
These all should ideally be part of the same commit since these changes are a result of the commit.

@shabanovd correct me if im wrong but this isn't adding vector support or complex number support. Based on the examples it seems to just add support for array creation? If there is vector math or complex number math support being added we should add a test for it. I just started looking at the code so im still catching up.

@freemo that is not native vectors or complex numbers math yet. This PR only add private memory array.

@shabanovd ok sounds good. I finished reviewing. Just had a few minor comments to be addressed and then ill be happy to approve. Looks good and thanks for the work. Just check out my earlier comments (most i withdrew).
As a side note I added the following issue with a $25 bounty that is related to this PR, if it happens to interest you: https://github.com/Syncleus/aparapi/issues/66

@freemo btw, I'll squash commits as soon as PR ready for merge. If I squash commits now we lose trace of comments.

@shabanovd thats fine, i can even squash commits at time of merge. Only reason its good to manually squash commits on your own is if you think the PR should consist of more than one commit and want to selectively squash a subset of commits.
btw this page ( https://github.com/Syncleus/aparapi/network ) is showing your fork is diverge from an earlier version of master. You will have to rebase or merge to the latest version of master before i accept. But so far everything looks good.

@shabanovd by the way I noticed you havent added your name to the contributors.md file. Do you not want your name added. You dont have to add it, or you can add your github handle with a link to yoru github profile instead if you'd like, that is up to you.

This is intended to resolve this issue, so linking it here: #63

this resolves issue #58

@freemo it's good to go

@shabanovd looks good to me. I'm accepted and merging now. Thanks for all your hard work.

@shabanovd I had picked squash and merge so i could edit the commit message (your comit message format didnt match our standard format). This seems to have made me the committer instead of you. I'm going to fix that now so please keep your fork and branch around for a few more minutes.

@shabanovd master fix you now have commit credit. feel free to delete your fork if you wish


Keep network plot?

Network plots of umi parent-child relationships are a nice visual but do not add a lot more information to the plots of degree distribution. However, these plots can considerable increase runtime when UMI adjacency lists are large. Consider omitting network plots or adding an option to plot.

won't do. keep plots.


feat(testing): add tests for serviceWorker.ts

This PR adds a few tests for src/browser/serviceWorker.ts.
Screenshot

It increases our code coverage (Lines) from 51.31% to 51.74% (↑ 0.43%).
🟩 100% Line coverage (last 100) for src/browser/serviceWorker.ts

This also completes Lines coverage for src/browser 🎉

TODOS

[x] investigate unhandled promise rejections
[x] figure out how to write a patch for a node_module
[x] rebase
[x] fix inconsistency
[x] try mocking ourselves

Weird error in the macos build. I'll rerun
$ ./ci/build/test-standalone-release.sh
Testing standalone release.
[2021-02-24T18:49:55.609Z] info  Wrote default config file to ~/.config/code-server/config.yaml
Unexpected output from listing extensions:

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 1.


Tweak maintainer copy in the team member role window

I tried this:

And a slightly more verbose copy which looked a little better in the window:

What do you prefer @toolmantim? I went with the longer one in this PR.

@toolmantim how's this?

Looks like this!

Let me save you the pain and I'll tweak it here locally!

It's now looking like this:

Probably good to merge, then I can port it over the the Pipelines permission dropdown thing, and the user invite page, in separate PRs.


Cleanup temporary repository files (#916) in release 1.4

Description
Changes proposed in this pull request:

Cleanup temporary repository files

Related issue(s)

/hold

/unhold


Windows: implement function for checking OpenGL extensions support

Closing since OpenGL is now beyond the scope of baseview.


R4RFC: Allow resources to report status

Description of problem
Currently a SupplyChain has no knowledge of the current status of any of its underlying resources. There have been many attempts to document how we could let resources report this information, but most of these solutions also try to use this information to gate downstream behaviour.  We are requesting an RFC that proposes a solution for how resources can report (and categorize) this information strictly for informational purposes. The goal would be to let templates indicate what state the resource might be in (ready, failing, etc) so that we can relay that information to the workload status.
Prior art
https://github.com/vmware-tanzu/cartographer/pull/556
https://github.com/vmware-tanzu/cartographer/issues/28
https://github.com/vmware-tanzu/cartographer/issues/162
https://github.com/vmware-tanzu/cartographer/issues/247

Looking for stampedResource.status

What do we want to put in the status? Have a template specify where to get the status for the object? Put the entire status block in? Determine if it is ready or failing?

w/ regards to reporting whether something is good/not, it seems like clusterapi's MachineHealthCheck could loosely bring some inspiration (https://cluster-api.sigs.k8s.io/tasks/healthcheck.html#what-is-a-machinehealthcheck)

"status" is a bit overloaded. I don't think a stamped resource should be able to have its full/partial .status reflected blindly on the workload, but I do like the idea of each stamped resource having a notion of health. For many resources, this will be the Ready condition, which has a status field of (True, False, Unknown). There are a few considerations to take into account:

not all resources have status (e.g. ConfigMap)
not all resources with status have conditions (e.g. Service)
not all resource with conditions have a Ready condition (e.g. Deployment)
not all conditions status True means the resource is healthy, False can be good (e.g. Node)

Part of my (counter) proposal on RFC 18 was to include condition-like fields for each stamped resource. reason, message, status, lastTransitionTime


[Bug]: No way to go back to appsmith applications from the app viewer mode navigation

Is there an existing issue for this?

[X] I have searched the existing issues

Description

As part of theming change to the navigation, we now don't have a way to navigate to appsmith apps
A user who clicks on comment mode cannot come out of it unless they press escape

Steps To Reproduce
Appsmith apps

Deploy the app
Observe the appsmith logo is not available in the navigation
A user doesn't have a way to go to their apps

Comment mode

Click on comment in the view mode
Click the button again but it doesn't come out of comment mode

Public Sample App
No response
Version
Release

The design has been started on 16th
and Now available for peer review
https://www.figma.com/file/4Qs7lxAEjpwU0BNG1e9Bis/?node-id=106%3A1912

FIY,
The estimated handoff date is set to 15th Jun 2022

@jsartisan assigning to you, please check the design and estimate. Reach out in case of confusion

@jsartisan
Please change the app icon.
Updated design
CC @dilippitchika


extra_action support for rules written in Skylark

Based on src/main/protobuf/extra_actions_base.proto, it seems that extra_action support is hardcoded for native Bazel rules only.
Kythe would find it helpful to support extra_actions for custom rules written in Skylark so that we can extract/analyze compilations from a broader range of languages.

I'm trying to do something like this and it doesn't seem to work.
kythe/go/util/tools/BUILD
action_listener(
    name = "print_extra_actions",
    extra_actions = [":printer"],
    mnemonics = [
        "GoCompile",              # the actual mnemonic I'm looking for
        "SpawnAction", "Unknown", # me trying to grep for anything
    ],
)

extra_action(
    name = "printer",
    cmd = "$(location :print_extra_action) $(EXTRA_ACTION_FILE)",
    tools = [":print_extra_action"],
)

go_binary(
    name = "print_extra_action",
    srcs = ["print_extra_action/print_extra_action.go"],
    deps = [
        "//third_party/bazel:extra_actions_base_proto",
        "//third_party/go:protobuf",
    ],
)

go.bzl (highly elided)
def go_library_impl(ctx):
  # ...

  ctx.action(
      inputs = inputs,
      outputs = outs,
      mnemonic = "GoCompile",  # removing this doesn't allow the action to be caught by the "Unknown" mnemonic
      command = cmd,
      use_default_shell_env = True)

  return struct(
    # ...
  )

# ...

go_library = rule(
    go_library_impl,
    attrs = base_attrs + {
        "package": attr.string(),
    },
    outputs = {"archive": "%{name}.a"},
)

bazel build --experimental_action_listener=//kythe/go/util/tools:print_extra_actions //...
# nothing is printed
# however, adding "Javac" or "CppCompile" to "print_extra_actions" ensures that java/c++ actions are printed

Also, I'm in favor of removing the language-specific extra_actions.  As long as all of the current information in JavaCompileInfo/CppCompileInfo is still accessible.
Just as a thought from someone not thoroughly versed on Bazel, I was thinking that is may be useful to embed a Map<string, Any> proto field in the ExtraActionInfo and allow the export of arbitrary information like the JavaCompilationArgs from Java rules and arbitrary lists/sets from Skylark.

I don't know what's going on there. Skylark rules should be generating spawn actions, and they should automatically get extra actions.
I don't think we pass any information that isn't in the command-line, but I could be wrong. If I'm right, then you can always parse the command line and get all the information back. In the Java case, you can use the parser from JavaBuilder. However, in the C++ case, you'll need a parser that is compatible with gcc and / or clang. Having a map would avoid requiring a parser in some cases because the data is more structured.

Are there any updates on fixing the extra_action support for Skylark spawn actions?

We're having this same issue with our own Lisp build rules.  My own extra_action is not invoked when using our own mnemonic, LispCompile, while it does get invoked when trying with CppCompile.  Can someone please take a look?

I have a fix, to be submitted in a few days.
Sorry for the delay!

I believe this is now fixed.


Add license

We should add a license file to be clear about what our license is.
I personally do not care what license this is.

When I was thinking about this (and discussing it with a few people) some time ago, I was leaning towards something BSD/MIT-ish. More freedoms means more users, but may also mean less code sharing from commercial vendors that use the project.
GPL means completer code sharing, but fewer users, which in the end may lead to fewer contributions.
I'm still leaning towards BSD/MIT.

LICENSE now contains the MIT license.


HADOOP-17945. JsonSerialization raises EOFException reading JSON data stored on google GCS

(lifted from MAPREDUCE-7341)
How was this patch tested?

updated tests
rerunning s3a committer suite
In MAPREDUCE-7341; testing against azure abfs too

[X] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[X] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 17s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
38m  0s

trunk passed

+1 :green_heart:
compile
27m 20s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
23m 38s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
1m  9s

trunk passed

+1 :green_heart:
mvnsite
1m 48s

trunk passed

+1 :green_heart:
javadoc
1m 13s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 47s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
2m 57s

trunk passed

+1 :green_heart:
shadedclient
27m 38s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 11s

the patch passed

+1 :green_heart:
compile
27m 30s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
27m 30s

the patch passed

+1 :green_heart:
compile
24m 45s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
24m 45s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  5s

the patch passed

+1 :green_heart:
mvnsite
1m 42s

the patch passed

+1 :green_heart:
javadoc
1m  7s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
1m 47s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
3m  5s

the patch passed

+1 :green_heart:
shadedclient
27m 53s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
19m 22s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 54s

The patch does not generate ASF License warnings.

236m 25s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3501/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3501

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 0faf8f3c9113 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / d4049be37e1a38026f94e87b1cba97399deb0f1d

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3501/1/testReport/

Max. process+thread count
2898 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3501/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

@mehakmeet & @mukund-thakur  could you take a quick look @ this?


version conflict with pytest 4.2.0

Travis failed if the lastest pytest 4.2.0 is installed:
$ python -W ignore -m pytest --cov --cov-fail-under=70
Traceback (most recent call last):
  File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pluggy/manager.py", line 267, in load_setuptools_entrypoints
    plugin = ep.load()
  File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2345, in load
    self.require(*args, **kwargs)
  File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2368, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pkg_resources/__init__.py", line 789, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (pytest 4.2.0 (/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages), Requirement.parse('pytest!=4.2.0,>=3.6'))

Added hotfix 3d7b833eeb667e659827626437afd025abb8f6e3 by downgrading pytest to <4.2.0.
Wait for next pytest release (4.2.x).

Already done in #4532


Added retry mechanism parameter for LongWriteOperation

PR for issue https://github.com/Polidea/RxAndroidBle/issues/352

I have pushed my latest modifications accordingly to your remarks.

Hello @martiwi - any news? Maybe I can help you with something?
I see this feature just lacking some unit tests and it would be production ready for 1.5.0 release

Hi there,
I didn't had enough time available to understand correctly how your unit test are designed and how they are working. I've been able to update the current unit tests to have latest changes of this feature. But to test that retry strategy is properly working, I did not managed to. Any help is welcome to speed up on this. Thanks.

Hey @martiwi !
Could you tick "Allow edits from maintainers" in your PR? I not able to contribute to unit tests.

Hey @uKL it was already selected, @dariuszseweryn was able to publish before. I've unselected it, and re-selected it. Is it better now ?

Ok, I was doing it wrong. :)

Hi @dariuszseweryn - I've added one unit test but I am not sure I am using it right as when running the test in debug mode, the second batch is failing to write but retryWhen Observable is triggered twice. Meaning Characteristic#setValue() is called with first batch number and not the second. Can you check what am I doing wrong? Thanks.

Hello @martiwi
You can check if the whole chain has not failed at this point by using testSubscriber.assertNoErrors(). Additionally in the current test all batches after the first failed one will not be successfully completed as the subject is called with .onError()

Great job @martiwi!
I've added some tests and fixed two issues + a documentation update.

Added tests for retries during long write operations
Fixed issue that caused the last batch to be written with incorrect data (empty byte array)
Added support for errors that were occurring when the operation was started (not from the gatt callback)
Fixed documentation incorrectly stating that the particular batch is skipped

Dear Contributor,
similar to many open source projects we kindly request to sign our CLA if you'd like to contribute to our project. This license is for your protection as a Contributor as well as the protection of Polidea; it does not change your rights to use your own Contributions for any other purpose.
You can find a link here: https://cla-assistant.io/Polidea/RxAndroidBle


feat(n-loading-bar): add container-class prop

Codecov Report
Patch and project coverage have no change.

Comparison is base (ef7279e) 62.37% compared to head (0446af0) 62.37%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5268   +/-   ##
=======================================
  Coverage   62.37%   62.37%
=======================================
  Files        1074     1074
  Lines       22588    22588
  Branches     5930     5930
=======================================
  Hits        14090    14090
  Misses       6954     6954
  Partials     1544     1544

Files Changed
Coverage Δ

src/loading-bar/src/LoadingBar.tsx
74.71% <ø> (ø)

src/loading-bar/src/LoadingBarProvider.tsx
65.51% <ø> (ø)

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


Added a search functionality with Fuse.js

This PR adds a search functionality to the RDF Explorer using Fuse.js. It includes the following changes:
Modified Files:

packages/explorer-views/src/pages/navigation.tsx: Added a search input element and results container to the navigation view.
packages/explorer-views/src/pages/navigation.css: Added styling for the search input and results container.
packages/explorer-site/src/main.ts: Implemented the search functionality to fetch JSON data, initialize Fuse.js, and dynamically update the search results.

Detailed Changes:

Search Input and Results Container:

Added a search input element and results container to navigation.tsx.
Updated navigation.css to style the search input and results container.

Search Functionality:

Implemented functions in main.ts to fetch tree.json and search.json, initialize Fuse.js with the search data, perform searches based on user input, and update the view dynamically.
Added event listeners to the search input to handle user queries and display search results.
Implemented navigation functionality to allow users to navigate to selected search results.

To-Do:

Turn Off Auto-Suggestions:

Currently, the search input field may show auto-suggestions based on previous searches or form inputs in the browser.
A related discussion and potential solutions can be found here.

CSS Corrections for Responsiveness:

Review and adjust CSS to ensure the search input and results container are responsive and work well on different screen sizes.

.gitignore: Updated to ignore public files related to fonts.


⚠ Bofrost.be has degraded performance

In 473fbcb, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1189 ms

Resolved: Bofrost.be performance has improved in 5bd48ff.


Cant write in react native the file help please

hello please help, im new coding in RN and java, i have problems writing in the device storage i tried with RN fetch blob
fs.writeFile
and
Fs.CreateFile and i got this errors

possible unhandled promise rejection id0:
(async () => {
const pdfDoc = await PDFDocument.create()
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)
const page = pdfDoc.addPage()
const { width, height } = page.getSize()
const fontSize = 30
page.drawText('Creating PDFs in JavaScript is awesome!', {
x: 50,
y: height - 4 * fontSize,
size: fontSize,
font: timesRomanFont,
color: rgb(0, 0.53, 0.71),
})
const pdfBytes = await pdfDoc.save()
const dirs = RNFetchBlob.fs.dirs
  const NEW_FILE_PATH = dirs.DownloadDir + '/test22.pdf'
 RNFetchBlob.fs.writeFile(NEW_FILE_PATH, pdfBytes,'utf-8')
})();

please help me thanks in advance

@diegommc what did you need to do?

There is an example React Native app that should demonstrate how to write documents to the file system if you're having trouble: https://github.com/Hopding/pdf-lib/tree/master/apps/rn


Chat - Status “User is typing” shows the email instead of the username

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Pre-condition: User logged in with 2 different accounts in different devices

As account B, type in the composer and check the area under the compose box in account A device
Verify there's a message indicated that user B is typing

Expected Result:
Message is composed by "{Name} is typing..." (E.g: John is typing). The user email is NOT mentioned if the user has set a name
Actual Result:
Status “User is typing” shows the email instead of the username
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/6a20f03e-54cd-4fbf-a8f8-a1b963b6f4eb

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

It seems from the backend in the pusherEvent we need to set accountID instead of loginId.
https://github.com/Expensify/App/blob/83ab0160a3b5c385fd26fffe20bdbccabf9249c0/src/libs/actions/Report.js#L119-L120
If accountId is passed then the below code will fetch the details correctly with the updated onyx structure for the personalDetailsList.
https://github.com/Expensify/App/blob/83ab0160a3b5c385fd26fffe20bdbccabf9249c0/src/libs/actions/PersonalDetails.js#L40

Taking over this one 👍

Bringing this up in slack: https://expensify.slack.com/archives/C01GTK53T8Q/p1687174064671799
There's a few other details we need to think about - like what to show if you don't have the user's personal details stored in Onyx (example: You're in a public room and someone is typing and you don't have their personal details stored in Onyx)

PR merged and being CPed - CRITICAL [SNH]: Chat - Status “User is typing” shows the email instead of the username

Removing the blocker label.

@Christinadobrzyn sorry, reassigning you b/c it looks like when I manually assigned the C+ you accidentally got unassigned 😬
This is basically done - just waiting for payout to C+ for their review & testing of the PR 👍

@Christinadobrzyn Accepted! Thanks!
As for the regression test I think this issue was already caught due to a regression test since it's caught by Applause. This seems to be the regression test https://expensify.testrail.io/index.php?/cases/view/2616830

Awesome! thanks! Created a regression test - https://github.com/Expensify/Expensify/issues/296902
Paid you in Upwork - closing!


Added nl_NL and de_DE locales

Changes proposed in this pull request:

Added Dutch translation
Added German translation

Coverage remained the same at 96.823% when pulling 33c9a7ac8c673470c5ae93cef035d9f88340713f on edgraaff:nl-de-locales into 60bbcbf4b0d4f8240e045a2e2906afef0f12215b on wxsms:master.

Thanks!


add introduction on README.md

I added an introduction on README. Please check it out.

LGTM

I have a suggestion, can you translate docs/README.md first (also need add korean translation activity relative information)? And then I can create a PR to mobxjs/mobx to add 한국어 link on mobx.js.org header(like this ⬇ ).

docs/README.md  == https://ko.mobx.js.org == https://ko.mobx.js.org/README.md
Of course, you kown our current link is https://ko-mobx-js-org.vercel.app, but don't worry I will create a PR to js-org/js-org to registe ko.mobx.js.org

Okay, I'll translate docs/README.md first. And please Merge this PR.


Count triggers per object and highlight if there is more than one unmanaged trigger

More of a best-practice check, but can be a big problem for some orgs. Should only have one unmanaged trigger per object.
Could also have a table of all triggers, with a column for trigger name, object name, and each of the trigger contexts (with a checkmark if the trigger fires in that context).

Very interesting. I got the idea from another user as well. So maybe a second tab to show objects that have at least one trigger unmanaged. With a bad score if the count is two or more. It should have a column with the triggers involved for each object so that you can click on them.

Dear @dschach , i thought about this request and it could be something like the following:
Here you see two active triggers for the same object (but not the same scope one is before update and the other is after update):

I added a thrid sub-tab to list the number of active triggers for each object :

What do you think?

this is going to be super useful! I like the additional info you have added like contains DML etc.
I think there's one I posted about flagging if a trigger has logic written within, and if it has more than a certain # of characters to help identify if it has logic or not.

This looks really good!


Sensible defaults for gstreamer in configuration file

From https://github.com/hamishwillee/dronecode_csd_sdk/commit/4ea0d1b28ef562553a6c9e20a7e5267baa6e8997#r27942566
Our config files all use the following gstreamer section, which defines the set of plugins supported by QGC.
[gstreamer]
muxer=rtph264pay
encoder=x264enc
converter=autovideoconvert

Suggestion is that if QGC is likely to be what "most" people want, then these should be the defaults.
If not, then we should choose defaults for some other reason, and document what that reason is.

Done https://github.com/intel/camera-streaming-daemon/pull/151


DataQuery passes classes that don’t exist to ClassInfo::subclassesFor()

See here. If there is a collision in a join table (e.g. SiteTree.Sort colliding with Page_ManyManyRelation.Sort), then Page_ManyManyRelation is passed to ClassInfo::subclassesFor(), even though no PHP class exists for it.
Simplest fix is to amend the line linked above to:
if (class_exists($collisionBase)) {
    $collisionClasses = ClassInfo::subclassesFor($collisionBase);
} else {
    $collisionClasses = array($collisionBase => $collisionBase);
}

Now I look at this again, I don’t see how this has ever worked. Perhaps there’s another regression I’m missing... will dig further tomorrow.

Okay this is seems to be a valid bug. The SQL that was produced is valid, but doesn’t really make any sense. Pseudo-code until I get time to write up a test case:
class Page extends SiteTree {
    private static $many_many = array(
        'Slides' => 'Slide'
    );

    private static $many_many_extraFields = array(
        'Slides' => array(
            'Sort' => 'Int'
        )
   );

    public function getCMSFields() {
        $fields = parent::getCMSFields();
        $fields->addFieldToTab('Root.Slides', GridField::create('Slides', 'Slides', $this->Slides(), GridFieldConfig_RecordEditor::create()));
        return $fields;
    }
}

class Slide extends DataObject {
    private static $db = array(
        'Title' => 'Varchar'
    );

    private static $belongs_many_many = array(
        'Pages' => 'Page'
    );
}

The error happens when you then try to edit a slide. Seems to be triggered by a GridField component, as adding $fields->removeByName('Pages'); to the slide stops it happening (GF is not the cause of the issue, just what’s triggering it in this case).
Tacking on showqueries shows that the old SQL produced included:
SELECT DISTINCT CASE
  WHEN "SiteTree"."ClassName" IN ('Page_Slides')
    THEN "Page_Slides"."Sort"
  WHEN "SiteTree"."ClassName" IN ('SiteTree', 'Page', 'HomePage', 'ErrorPage', 'RedirectorPage', 'VirtualPage')
    THEN "SiteTree"."Sort"
  WHEN "SiteTree"."ClassName" IN ('SiteTree', 'Page', 'HomePage', 'ErrorPage', 'RedirectorPage', 'VirtualPage')
    THEN "SiteTree"."Sort"
  WHEN "SiteTree"."ClassName" IN ('SiteTree', 'Page', 'HomePage', 'ErrorPage', 'RedirectorPage', 'VirtualPage')
    THEN "SiteTree"."Sort"
  ELSE NULL
END AS "Sort",

"SiteTree"."ClassName", "SiteTree"."Created", "SiteTree"."LastEdited", "SiteTree"."URLSegment", "SiteTree"."Title", "SiteTree"."MenuTitle", "SiteTree"."Content", "SiteTree"."MetaDescription", "SiteTree"."ExtraMeta", "SiteTree"."ShowInMenus", "SiteTree"."ShowInSearch", "SiteTree"."HasBrokenFile", "SiteTree"."HasBrokenLink", "SiteTree"."ReportClass", "SiteTree"."CanViewType", "SiteTree"."CanEditType", "SiteTree"."GridLayout", "SiteTree"."MetaTitle", "SiteTree"."Version", "SiteTree"."ParentID", "SiteTree"."ID", CASE WHEN "SiteTree"."ClassName" IS NOT NULL THEN "SiteTree"."ClassName" ELSE 'SiteTree' END AS "RecordClassName" FROM "SiteTree" INNER JOIN "Page_Slides" ON "Page_Slides"."PageID" = "SiteTree"."ID" WHERE ("Page_Slides"."SlideID" = '2') AND ("SiteTree"."ClassName" IN ('Page','HomePage','ErrorPage','RedirectorPage','VirtualPage')) ORDER BY "SiteTree"."Sort" ASC LIMIT 15

Obviously the class name can never be Page_Slides, so it shouldn’t be including that. Would probably be a good idea to tidy up the duplicate WHEN cases too.

Adding this above the line highlighted in the original issue above to this fixes it:
if (!class_exists($collisionBase)) {
	continue;
}

I’m really struggling to capture this in a test case, though...

Fixed in #4497 / #4482


DBK 64 Compiling

Sorry, I dont know where to put it
I am watching your videos - I have managed to compile CE
but with DBK I have trouble
https://www.youtube.com/watch?v=CE0yeExQ5u0&t=693s
I have installed Visual Studio and installed SDK and WDK

but it looks like there are some Version Issues but currently I am facing the Problem
MSBuild error MSB8020
WindowsKernelModeDriver10.0 build tools not found
I was spending two days for looking for them deinstall everything and install everything multiple times but I could not mange it
also looking for the ModeDriver but could not find anything
do you have maybe some Hints?

WindowsKernelModeDriver10.0 build tools not found

It looks like WDK is either not installed or not detected by VS.

Now I have Problems with SHA 256

If your solution configuration is "Release without sig" then signtool is not required

I am using release without sig - like in your video but still getting the error msg.

I have downloaded a clean CE folder but i get still the same error msg
what do you mean with dc24a768c7e80970efc9969419799a750b17a7d?

Cheat Engine 7.3 corresponds to this commit https://github.com/cheat-engine/cheat-engine/commit/dc24a768c7e80970efc9969419799a750b17a7d0

This worked for me: https://github.com/cheat-engine/cheat-engine/issues/2014#issuecomment-1060201389


Table soft validation is incorrect

The current soft validation method is defined to block any table that starts with pg_:
https://github.com/CartoDB/CartoDB-SQL-API/blob/91cd355c63647cf0382a21e9b86fcf47ccdd31a6/app/services/pg-entities-access-validator.js#L52-L59
So if a user has a table called pg_sth it will be blocked too. A more effective way to block access to the pg_catalog schema is to check the table schema instead (and avoid using regex).

Closing stale ticket


Implement btcwallet's "dropwtxmgr" command as --reset-wallet-transactions flag

Depends on https://github.com/btcsuite/btcwallet/pull/723.
This PR adds the functionality of btcwallet's dropwtxmgr command to lnd. Users can trigger the functionality by specifying the command line flag --reset-wallet-transactions or setting the value reset-wallet-transactions=true in the configuration file.
The new flag removes all transaction history from the internal on-chain wallet, resulting in a full chain-rescan starting at the wallet's birthday.

Can be rebased now that the dependent PR has been meged!

Rebased!


Unable to connect to EC2 instance AWS console

Thanks for your time on building this project!
Steps taken:

copy repo
cd templates
run terraform apply
visit EC2 instance in aws console and click connect

Result:
Failed to connect to your instance
EC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see EC2 Instance Connect Prerequisites at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html.

It's not configured to use EC2 Instance Connect. You'll need to use AWS SSM instead. Docs: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html


rename-QUIRREL_URL-to-QUIRREL_API_URL

See https://github.com/quirrel-dev/quirrel/issues/355#issuecomment-840517120

Coverage increased (+0.008%) to 71.174% when pulling 87e8155213dacb0d4030337cfcd67547c1355e1b on rename-QUIRREL_URL-to-QUIRREL_API_URL into 600cd744b591c7991ab54bab380ed3203d1f98c0 on main.


Update fix-libva1-compatibility.patch for 70.x

I didn't realize there were patches between fix-libva1-compatibility.patch that needed to be refreshed. I took care of that.


Add self.parent opcode & thus unlock composable programs

This is an updated version of: https://github.com/AleoHQ/snarkVM/pull/1178
Motivation
Building the https://github.com/AleoHQ/ARCs/discussions/11 self.parent functionality will unlock a wide variety of applications to be built on top of Aleo, including anything that relates to DeFi and NFTs. As an application builder in the Aleo ecosystem, I want to be able to use self.parent functionality, so I can build robust smart contracts involving token swaps, escrow contracts, and NFTs. In particular, when programs are able to know which contract is calling them, access controls can be expanded beyond just users. This allows callee programs with public state in mappings to assign state to program addresses, and only allow calls by that program address to modify that state. The Aleo-equivalent of ERC-20 can leverage this feature to be a fully functional implementation of the ERC-20 contract.
Potential Security Considerations
Reentrancy attacks
This shouldn't really be possible given that the call opcode needs to match against a locator ie some_program.aleo/some_function. Since self.parent and self.caller compile to an address and not a locator, it shouldn't be possible for a program to use: call self.parent/some_function ...args any more than it's possible to use call self.caller/some_function ..args
If this is still a concern, we can further restrict the usage of self.parent to only be used as an argument to a finalize statement. Note, it cannot be used within a finalize block, only as an argument from the transition to the finalize block. Restricting as such would still serve every significant use case I can imagine.
Deriving the private key that leads to the address
If someone can recover the private key that derives a public key that matches the program, this would be a majority vulnerability. Someone could easily clear the balance held by a program.
This shouldn't be any easier than guessing a private key from a public key.
The program address is calculated as HashToGroup(program_id) and a normal address is calculated as address := pk_sig + pr_sig + pk_prf
Programs owning records
This could lead to programs that create records with an owner of self.parent which would effectively make them unusable forever. I don't think this is a big consideration as it's already possible to randomly generate a public key and then transfer a record to it. This may perhaps just make it more likely someone does this. I wouldn't consider it a large consideration but leo should perhaps be updated to throw warnings if someone tries to set the owner of a record to self.parent
Related PRs

https://github.com/AleoHQ/snarkVM/pull/1178
https://github.com/AleoHQ/welcome/pull/139
https://github.com/AleoHQ/ARCs/discussions/11

Thanks for the proposal @evanmarshall!
I believe that there is also another security consideration, that self.parent can be forged in the snark,
In other words, a malicious prover sets self.parent to an arbitrary address.

Thanks for the proposal @evanmarshall! I believe that there is also another security consideration, that self.parent can be forged in the circuit, In other words, a malicious prover sets self.parent to an arbitrary address.

That's a good point and one potential fix is that we could treat self.parent as a public input and it would be the responsibility of the validators verify proper execution.
Another potential solution would be to move self.parent to only the finalize blocks & similarly require the validators to verify.
In any case, I think it will be necessary to reveal the parent address publicly to enable verification.
What would your ideal solution look like?
I'm happy to iterate on this.

Leaning towards the first solution, where self.parent is a public input to the circuit.
Currently prototyping a solution.


bug: crash after reconnecting when not sending a message

🌧 Describe the problem
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0xb23397]

goroutine 4248 [running]:
github.com/lrstanley/girc.(*Client).readLoop(0xc000454a80, {0x1722cb8, 0xc0005704b0})
	/home/allbery/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230729130341-dd5853a5f1a6/conn.go:440 +0x297
github.com/lrstanley/girc/internal/ctxgroup.(*Group).Go.func1()
	/home/allbery/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230729130341-dd5853a5f1a6/internal/ctxgroup/ctxgroup.go:58 +0x63
created by github.com/lrstanley/girc/internal/ctxgroup.(*Group).Go in goroutine 31
	/home/allbery/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230729130341-dd5853a5f1a6/internal/ctxgroup/ctxgroup.go:55 +0x79

This is happening with matterbridge, both latest release and git versions, but doesn't appear to be related directly to matterbridge. It also doesn't appear to be the same problem as #14 because the bridge has been quiescent aside from the reconnect, and the line numbers/traceback differ.
⛅ Expected behavior
I expect the IRC client to successfully resume after reconnecting,
🔄 Minimal reproduction
No response
💠 Version: girc
v0.0.0-20230729130341-dd5853a5f1a6
🖥 Version: Operating system
linux/ubuntu
⚙ Additional context
I have not as yet tried rebuilding matterbridge with the version on pkg.go.dev.
If it matters, the specific Ubuntu release is 22.04.2.
🤝 Requirements

[X] I believe the problem I'm facing is a bug, and is not intended behavior. Post here if you're not sure.
[X] I have confirmed that someone else has not submitted a similar bug report.

I'm unable to replicate on master, specifically using steps:

Connect(), all settings default other than the basics (server, port, nick, user, name)
server initiated disconnect
reconnect with Connect()

Don't see any issues in the above scenario.
Looking at the panic, I have an idea what the issue could be. However, I don't know where the original event is coming from (internal to girc, server, or the caller of the library). Is there any way you have anything that is reproducible? Even if it's with matterbridge, an example matterbridge config file (which just contains IRC if possible), so I can hook up a debugger?

I don't have a reproducer because it's happening when my somewhat unstable network drops, not when a proper disconnect occurs. This could probably be simulated with a suitable kernel network driver, but I think only FreeBSD has the appropriate kernel support.

I'm seeing the same stacktrace.
debug:00:03:28 conn.go:435: closing readLoop
debug:00:03:28 client.go:420: received signal to close, flushing 0 events and executing
debug:00:03:28 client.go:431: closing execLoop
debug:00:03:28 conn.go:586: closing sendLoop
debug:00:03:28 conn.go:369: received error, beginning cleanup: read tcp <IP_ADDRESS>:60794-><IP_ADDRESS>:6667: i/o timeout
debug:00:03:28 handler.go:29: < CLIENT_DISCONNECTED irc.efnet.nl:6667
debug:00:03:28 handler.go:211: [1/1] exec rmoSuelNipGLXawNpUCR => *
debug:00:03:28 handler.go:232: [1/1] done rmoSuelNipGLXawNpUCR == 4.621µs
2024/01/24 00:03:28 Failed to connect to irc.efnet.nl:6667: read tcp <IP_ADDRESS>:60794-><IP_ADDRESS>:6667: i/o timeout
debug:00:03:38 conn.go:307: connecting to irc.efnet.nl:6667... (sts: false, config-ssl: false)
debug:00:03:38 conn.go:530: starting sendLoop
debug:00:03:38 client.go:841: > CAP LS 302
debug:00:03:38 client.go:841: > NICK SnoozeThis
debug:00:03:38 client.go:841: > USER SnoozeThis * * www.snoozethis.com
debug:00:03:38 client.go:409: starting execLoop
debug:00:03:38 conn.go:416: starting readLoop
debug:00:03:39 panic.go:884: closing readLoop
debug:00:03:39 handler.go:211: [1/1] exec rmoSuelNipGLXawNpUCR => *
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x948946]

goroutine 5681 [running]:
github.com/lrstanley/girc.(*Client).readLoop(0xc0003fc380, {0xe329a8, 0xc000534080})
	/home/quis/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230911164840-f47717952bf9/conn.go:440 +0x266
github.com/lrstanley/girc/internal/ctxgroup.(*Group).Go.func1()
	/home/quis/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230911164840-f47717952bf9/internal/ctxgroup/ctxgroup.go:58 +0x6e
created by github.com/lrstanley/girc/internal/ctxgroup.(*Group).Go
	/home/quis/go/pkg/mod/github.com/lrstanley/girc@v0.0.0-20230911164840-f47717952bf9/internal/ctxgroup/ctxgroup.go:55 +0x8d

The networking on my server is unstable as of yesterday, so that seems to match as well.
You could try reproducing by installing an iptables rule that drops all traffic; or by using lsof(1) + gdb(1) to find the file descriptor and close(2) it.


Can't import big snapshot - Error: Connection reset by peer

Hello! I have problems importing big snapshot of production DB. Size of snapshot is ~67GB<PHONE_NUMBER>4 bytes). From client side prospective it looks like server dropped the connection. I can reconnect with client. Here is how I do import and its output after several hours
localhost:8889> import backup/save-redis-snapshot.292774109975.4613879422269534302.1496580998
Error: Connection reset by peer
(8379.25s)

Content of INFO
localhost:8889> info
# Server
ardb_version:0.9.4
redis_version:2.8.0
engine:rocksdb
ardb_home:/ardb_home
os:Linux 4.10.0-21-generic x86_64
gcc_version:6.2.1
process_id:1
run_id:f5e7e39341547864c4e4f87942b589948952c49e
tcp_port:16379
listen:<IP_ADDRESS>:16379
uptime_in_seconds:37867
uptime_in_days:0
executable:/usr/src/ardb/src/ardb-server
config_file:/usr/src/ardb/ardb.conf

# Databases
data_dir:/ardb_home/data
used_disk_space:66134573244
rocksdb_version:5.0.2
rocksdb_memtable_total:29361584
rocksdb_memtable_unflushed:29361584
rocksdb_table_readers_total:11479587

** Compaction Stats [0] **
Level    Files   Size(MB} Score Read(GB}  Rn(GB} Rnp1(GB} Write(GB} Wnew(GB} Moved(GB} W-Amp Rd(MB/s} Wr(MB/s} Comp(sec} Comp(cnt} Avg(sec} KeyIn KeyDrop
----------------------------------------------------------------------------------------------------------------------------------------------------------
  L1     10/0     454.71   0.9      0.9     0.8      0.0       0.9      0.8       0.0   1.1     34.5     34.5        26         1   26.267    322K      0
  L2    247/0    5114.22   1.0      3.2     3.2      0.0       1.1      1.1       0.0   0.3      9.4      3.3       348        51    6.820    404K      0
  L3   2253/0   51195.94   1.0      0.0     0.0      0.0       0.0      0.0      10.1   0.0      0.0      0.0         0         0    0.000       0      0
  L4    232/0    6305.78   0.0      0.0     0.0      0.0       0.0      0.0       6.2   0.0      0.0      0.0         0         0    0.000       0      0
 Sum   2742/0   63070.64   0.0      4.1     4.0      0.0       2.0      2.0      16.3<PHONE_NUMBER>.0     11.2      5.5       374        52    7.194    727K      0
 Int      0/0       0.00   0.0      4.1     4.0      0.0       2.0      2.0      16.3<PHONE_NUMBER>.0     11.2      5.5       374        52    7.194    727K      0
Uptime(secs): 37866.6 total, 37866.6 interval
Flush(GB): cumulative 0.000, interval 0.000
AddFile(GB): cumulative 0.000, interval 0.000
AddFile(Total Files): cumulative 0, interval 0
AddFile(L0 Files): cumulative 0, interval 0
AddFile(Keys): cumulative 0, interval 0
Cumulative compaction: 2.00 GB write, 0.05 MB/s write, 4.09 GB read, 0.11 MB/s read, 374.1 seconds
Interval compaction: 2.00 GB write, 0.05 MB/s write, 4.09 GB read, 0.11 MB/s read, 374.1 seconds
Stalls(count): 0 level0_slowdown, 0 level0_slowdown_with_compaction, 0 level0_numfiles, 0 level0_numfiles_with_compaction, 0 stop for pending_compaction_bytes, 0 slowdown for pending_compaction_bytes, 0 memtable_compaction, 0 memtable_slowdown, interval 0 total count

** DB Stats **
Uptime(secs): 37866.6 total, 37866.6 interval
Cumulative writes: 0 writes, 0 keys, 0 commit groups, 0.0 writes per commit group, ingest: 0.00 GB, 0.00 MB/s
Cumulative WAL: 0 writes, 0 syncs, 0.00 writes per sync, written: 0.00 GB, 0.00 MB/s
Cumulative stall: 00:00:0.000 H:M:S, 0.0 percent
Interval writes: 0 writes, 0 keys, 0 commit groups, 0.0 writes per commit group, ingest: 0.00 MB, 0.00 MB/s
Interval WAL: 0 writes, 0 syncs, 0.00 writes per sync, written: 0.00 MB, 0.00 MB/s
Interval stall: 00:00:0.000 H:M:S, 0.0 percent

# Clients
connected_clients:1
blocked_clients:0

# Persistence
loading:0
rdb_last_save_time:0
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_bgsave_in_progress:0
rdb_current_bgsave_time_sec:0

# CPU
used_cpu_sys:1015.92
used_cpu_user:416.37

# Replication
role:master
repl_dir: /ardb_home/repl
repl_current_namespace:
connected_slaves: 0
master_repl_offset: 0
repl_backlog_size:<PHONE_NUMBER>
repl_backlog_cache_size: 104857600
repl_backlog_first_byte_offset: 0
repl_backlog_histlen: 1
repl_backlog_cksm:<PHONE_NUMBER>000000
snapshot0:type=redis,create_time=Sun Jun  4 12:56:38 2017,name=save-redis-snapshot.292774109975.4613879422269534302.1496580998

# Memory
used_memory_rss:282386432

# Stats
slave_sync_total_commands_processed:0
slave_sync_instantaneous_ops_per_sec:0
total_commands_processed:0
instantaneous_ops_per_sec:0
total_connections_received:1
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
pubsub_channels:0
pubsub_patterns:0
expire_scan_keys:0

# Keyspace
db0:keys=53608240

Config file
https://www.zerobin.net/?583f1a743d04149d#4KVM7LmPzreuEY/BVRZfus+FSy/NxZgM4UqpVBSF5lY=
And finally giant log file:
https://www.dropbox.com/s/6orzmxumvlfqypw/ardb.txt.zip?dl=0
Any ideas what to do ? To me this is pretty bad discovery since it means my backups are useless.

is the server crash down when loading redis dump file?

Not sure about that. I was up when I woke up. But possibly docker restarted it automatically. I found core file in /data folder. Will it be helpful for you ? Here it is
https://www.dropbox.com/s/moegxfc20a1u0h8/core?dl=0

I'm also hitting this issue with a large snapshot, around 204GB.
Basically when I attempt to import, I get "Error: Connection reset by peer" and ardb crashes immediately. Here is the log I got:
[7] 10-27 05:25:45,994 INFO Ardb init engine:rocksdb success.
[7] 10-27 05:25:45,994 INFO Add cached snapshot:save-redis-snapshot.289133692001.1489623791778110912.1509051963
[7] 10-27 05:25:45,995 INFO Ardb will accept connections on <IP_ADDRESS>:16379
[7] 10-27 05:25:45,995 INFO Ardb started with version 0.9.4
[7] 10-27 05:26:00,949 INFO Start loading RDB file with format version:6
[7] 10-27 05:26:00,949 INFO [RocksDB]Shutdown: canceling all background work
[7] 10-27 05:26:00,951 INFO [RocksDB]Shutdown complete
[7] 10-27 05:26:00,951 INFO [RocksDB]RocksDB version: 5.2.1

[7] 10-27 05:26:00,951 INFO [RocksDB]Git sha rocksdb_build_git_sha:a4faac3fa39914578407ab40a92d7d1714683876
[7] 10-27 05:26:00,951 INFO [RocksDB]Compile date Oct 19 2017
[7] 10-27 05:26:00,951 INFO [RocksDB]DB SUMMARY

[7] 10-27 05:26:00,951 INFO [RocksDB]CURRENT file:  CURRENT

[7] 10-27 05:26:00,952 INFO [RocksDB]IDENTITY file:  IDENTITY

[7] 10-27 05:26:00,952 INFO [RocksDB]MANIFEST file:  MANIFEST-000058 size: 112 Bytes

[7] 10-27 05:26:00,952 INFO [RocksDB]SST files in /var/lib/ardb/data/rocksdb dir, Total Num: 0, files:

[7] 10-27 05:26:00,952 INFO [RocksDB]Write Ahead Log file in /var/lib/ardb/data/rocksdb: 000059.log size: 0 ;

[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.error_if_exists: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.create_if_missing: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.paranoid_checks: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                                    Options.env: 0xa48ac0
[7] 10-27 05:26:00,952 INFO [RocksDB]                               Options.info_log: 0x7f3c3e588580
[7] 10-27 05:26:00,952 INFO [RocksDB]                         Options.max_open_files: 10000
[7] 10-27 05:26:00,952 INFO [RocksDB]               Options.max_file_opening_threads: 16
[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.disableDataSync: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                              Options.use_fsync: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.max_log_file_size: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                 Options.max_manifest_file_size:<PHONE_NUMBER>3709551615
[7] 10-27 05:26:00,952 INFO [RocksDB]                  Options.log_file_time_to_roll: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.keep_log_file_num: 1000
[7] 10-27 05:26:00,952 INFO [RocksDB]                   Options.recycle_log_file_num: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.allow_fallocate: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                       Options.allow_mmap_reads: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.allow_mmap_writes: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                       Options.use_direct_reads: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                       Options.use_direct_writes: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]         Options.create_missing_column_families: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                             Options.db_log_dir:
[7] 10-27 05:26:00,952 INFO [RocksDB]                                Options.wal_dir: /var/lib/ardb/data/rocksdb
[7] 10-27 05:26:00,952 INFO [RocksDB]               Options.table_cache_numshardbits: 6
[7] 10-27 05:26:00,952 INFO [RocksDB]                     Options.max_subcompactions: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                 Options.max_background_flushes: 4
[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.WAL_ttl_seconds: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.WAL_size_limit_MB: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.manifest_preallocation_size: 4194304
[7] 10-27 05:26:00,952 INFO [RocksDB]                    Options.is_fd_close_on_exec: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                  Options.stats_dump_period_sec: 600
[7] 10-27 05:26:00,952 INFO [RocksDB]                  Options.advise_random_on_open: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                   Options.db_write_buffer_size: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]        Options.access_hint_on_compaction_start: 1
[7] 10-27 05:26:00,952 INFO [RocksDB] Options.new_table_reader_for_compaction_inputs: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]              Options.compaction_readahead_size: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]          Options.random_access_max_buffer_size: 1048576
[7] 10-27 05:26:00,952 INFO [RocksDB]          Options.writable_file_max_buffer_size: 1048576
[7] 10-27 05:26:00,952 INFO [RocksDB]                     Options.use_adaptive_mutex: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                           Options.rate_limiter: 0x7f3c3e442900
[7] 10-27 05:26:00,952 INFO [RocksDB]    Options.sst_file_manager.rate_bytes_per_sec: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                         Options.bytes_per_sync: 1048576
[7] 10-27 05:26:00,952 INFO [RocksDB]                     Options.wal_bytes_per_sync: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]                      Options.wal_recovery_mode: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]                 Options.enable_thread_tracking: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]        Options.allow_concurrent_memtable_write: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]     Options.enable_write_thread_adaptive_yield: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.write_thread_max_yield_usec: 100
[7] 10-27 05:26:00,952 INFO [RocksDB]           Options.write_thread_slow_yield_usec: 3
[7] 10-27 05:26:00,952 INFO [RocksDB]                              Options.row_cache: None
[7] 10-27 05:26:00,952 INFO [RocksDB]                             Options.wal_filter: None
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.avoid_flush_during_recovery: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.base_background_compactions: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.max_background_compactions: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.avoid_flush_during_shutdown: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.delayed_write_rate : 16777216
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.max_total_wal_size: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.delete_obsolete_files_period_micros:<PHONE_NUMBER>0
[7] 10-27 05:26:00,952 INFO [RocksDB]Compression algorithms supported:
[7] 10-27 05:26:00,952 INFO [RocksDB]	Snappy supported: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]	Zlib supported: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]	Bzip supported: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]	LZ4 supported: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]	ZSTD supported: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]Fast CRC32 supported: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Recovering from manifest file: MANIFEST-000058

[7] 10-27 05:26:00,952 INFO [RocksDB]--------------- Options for column family [default]:

[7] 10-27 05:26:00,952 INFO [RocksDB]              Options.comparator: ardb.comparator
[7] 10-27 05:26:00,952 INFO [RocksDB]          Options.merge_operator: ardb.merger
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compaction_filter: None
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compaction_filter_factory: ardb.compact_filter_factory
[7] 10-27 05:26:00,952 INFO [RocksDB]        Options.memtable_factory: SkipListFactory
[7] 10-27 05:26:00,952 INFO [RocksDB]           Options.table_factory: BlockBasedTable
[7] 10-27 05:26:00,952 INFO [RocksDB]           table_factory options:   flush_block_policy_factory: FlushBlockBySizePolicyFactory (0x7f3c3e433368)
  cache_index_and_filter_blocks: 0
  cache_index_and_filter_blocks_with_high_priority: 0
  pin_l0_filter_and_index_blocks_in_cache: 0
  index_type: 0
  hash_index_allow_collision: 1
  checksum: 1
  no_block_cache: 0
  block_cache: 0x7f3c3e5800f8
  block_cache_name: LRUCache
  block_cache_options:
    capacity : 536870912
    num_shard_bits : 6
    strict_capacity_limit : 0
    high_pri_pool_ratio: 0.000
  block_cache_compressed: (nil)
  persistent_cache: (nil)
  block_size: 4096
  block_size_deviation: 10
  block_restart_interval: 16
  index_block_restart_interval: 1
  filter_policy: rocksdb.BuiltinBloomFilter
  whole_key_filtering: 1
  skip_table_builder_flush: 0
  format_version: 2

[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.write_buffer_size: 134217728
[7] 10-27 05:26:00,952 INFO [RocksDB] Options.max_write_buffer_number: 6
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[0]: NoCompression
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[1]: NoCompression
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[2]: Snappy
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[3]: Snappy
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[4]: Snappy
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[5]: Snappy
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.compression[6]: Snappy
[7] 10-27 05:26:00,952 INFO [RocksDB]                 Options.bottommost_compression: Disabled
[7] 10-27 05:26:00,952 INFO [RocksDB]      Options.prefix_extractor: ardb.prefix_extractor
[7] 10-27 05:26:00,952 INFO [RocksDB]  Options.memtable_insert_with_hint_prefix_extractor: nullptr
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.num_levels: 7
[7] 10-27 05:26:00,952 INFO [RocksDB]       Options.min_write_buffer_number_to_merge: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]    Options.max_write_buffer_number_to_maintain: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]           Options.compression_opts.window_bits: -14
[7] 10-27 05:26:00,952 INFO [RocksDB]                 Options.compression_opts.level: -1
[7] 10-27 05:26:00,952 INFO [RocksDB]              Options.compression_opts.strategy: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]        Options.compression_opts.max_dict_bytes: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]     Options.level0_file_num_compaction_trigger: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]         Options.level0_slowdown_writes_trigger: 20
[7] 10-27 05:26:00,952 INFO [RocksDB]             Options.level0_stop_writes_trigger: 36
[7] 10-27 05:26:00,952 INFO [RocksDB]                  Options.target_file_size_base: 67108864
[7] 10-27 05:26:00,952 INFO [RocksDB]            Options.target_file_size_multiplier: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]               Options.max_bytes_for_level_base: 536870912
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.level_compaction_dynamic_level_bytes: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]         Options.max_bytes_for_level_multiplier: 10.000000
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[0]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[1]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[2]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[3]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[4]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[5]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[6]: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]      Options.max_sequential_skip_in_iterations: 8
[7] 10-27 05:26:00,952 INFO [RocksDB]                   Options.max_compaction_bytes:<PHONE_NUMBER>
[7] 10-27 05:26:00,952 INFO [RocksDB]                       Options.arena_block_size: 16777216
[7] 10-27 05:26:00,952 INFO [RocksDB]  Options.soft_pending_compaction_bytes_limit:<PHONE_NUMBER>6
[7] 10-27 05:26:00,952 INFO [RocksDB]  Options.hard_pending_compaction_bytes_limit:<PHONE_NUMBER>44
[7] 10-27 05:26:00,952 INFO [RocksDB]      Options.rate_limit_delay_max_milliseconds: 100
[7] 10-27 05:26:00,952 INFO [RocksDB]               Options.disable_auto_compactions: 0
[7] 10-27 05:26:00,952 INFO [RocksDB]          Options.verify_checksums_in_compaction: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]                        Options.compaction_style: kCompactionStyleLevel
[7] 10-27 05:26:00,952 INFO [RocksDB]                          Options.compaction_pri: kByCompensatedSize
[7] 10-27 05:26:00,952 INFO [RocksDB] Options.compaction_options_universal.size_ratio: 1
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.compaction_options_universal.min_merge_width: 2
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.compaction_options_universal.max_merge_width:<PHONE_NUMBER>
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.compaction_options_universal.max_size_amplification_percent: 200
[7] 10-27 05:26:00,952 INFO [RocksDB]Options.compaction_options_universal.compression_size_percent: -1
[7] 10-27 05:26:00,953 INFO [RocksDB]Options.compaction_options_fifo.max_table_files_size:<PHONE_NUMBER>
[7] 10-27 05:26:00,953 INFO [RocksDB]                  Options.table_properties_collectors:
[7] 10-27 05:26:00,953 INFO [RocksDB]                  Options.inplace_update_support: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]                Options.inplace_update_num_locks: 10000
[7] 10-27 05:26:00,953 INFO [RocksDB]              Options.min_partial_merge_operands: 2
[7] 10-27 05:26:00,953 INFO [RocksDB]              Options.memtable_prefix_bloom_size_ratio: 0.100000
[7] 10-27 05:26:00,953 INFO [RocksDB]  Options.memtable_huge_page_size: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]                          Options.bloom_locality: 1
[7] 10-27 05:26:00,953 INFO [RocksDB]                   Options.max_successive_merges: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]               Options.optimize_filters_for_hits: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]               Options.paranoid_file_checks: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]               Options.force_consistency_checks: 0
[7] 10-27 05:26:00,953 INFO [RocksDB]               Options.report_bg_io_stats: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]--------------- Options for column family [0]:

[7] 10-27 05:26:00,955 INFO [RocksDB]              Options.comparator: ardb.comparator
[7] 10-27 05:26:00,955 INFO [RocksDB]          Options.merge_operator: ardb.merger
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compaction_filter: None
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compaction_filter_factory: ardb.compact_filter_factory
[7] 10-27 05:26:00,955 INFO [RocksDB]        Options.memtable_factory: SkipListFactory
[7] 10-27 05:26:00,955 INFO [RocksDB]           Options.table_factory: BlockBasedTable
[7] 10-27 05:26:00,955 INFO [RocksDB]           table_factory options:   flush_block_policy_factory: FlushBlockBySizePolicyFactory (0x7f3c3e433368)
  cache_index_and_filter_blocks: 0
  cache_index_and_filter_blocks_with_high_priority: 0
  pin_l0_filter_and_index_blocks_in_cache: 0
  index_type: 0
  hash_index_allow_collision: 1
  checksum: 1
  no_block_cache: 0
  block_cache: 0x7f3c3e5800f8
  block_cache_name: LRUCache
  block_cache_options:
    capacity : 536870912
    num_shard_bits : 6
    strict_capacity_limit : 0
    high_pri_pool_ratio: 0.000
  block_cache_compressed: (nil)
  persistent_cache: (nil)
  block_size: 4096
  block_size_deviation: 10
  block_restart_interval: 16
  index_block_restart_interval: 1
  filter_policy: rocksdb.BuiltinBloomFilter
  whole_key_filtering: 1
  skip_table_builder_flush: 0
  format_version: 2

[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.write_buffer_size: 134217728
[7] 10-27 05:26:00,955 INFO [RocksDB] Options.max_write_buffer_number: 6
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[0]: NoCompression
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[1]: NoCompression
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[2]: Snappy
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[3]: Snappy
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[4]: Snappy
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[5]: Snappy
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.compression[6]: Snappy
[7] 10-27 05:26:00,955 INFO [RocksDB]                 Options.bottommost_compression: Disabled
[7] 10-27 05:26:00,955 INFO [RocksDB]      Options.prefix_extractor: ardb.prefix_extractor
[7] 10-27 05:26:00,955 INFO [RocksDB]  Options.memtable_insert_with_hint_prefix_extractor: nullptr
[7] 10-27 05:26:00,955 INFO [RocksDB]            Options.num_levels: 7
[7] 10-27 05:26:00,955 INFO [RocksDB]       Options.min_write_buffer_number_to_merge: 2
[7] 10-27 05:26:00,955 INFO [RocksDB]    Options.max_write_buffer_number_to_maintain: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]           Options.compression_opts.window_bits: -14
[7] 10-27 05:26:00,955 INFO [RocksDB]                 Options.compression_opts.level: -1
[7] 10-27 05:26:00,955 INFO [RocksDB]              Options.compression_opts.strategy: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]        Options.compression_opts.max_dict_bytes: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]     Options.level0_file_num_compaction_trigger: 2
[7] 10-27 05:26:00,955 INFO [RocksDB]         Options.level0_slowdown_writes_trigger: 20
[7] 10-27 05:26:00,955 INFO [RocksDB]             Options.level0_stop_writes_trigger: 36
[7] 10-27 05:26:00,955 INFO [RocksDB]                  Options.target_file_size_base: 67108864
[7] 10-27 05:26:00,955 INFO [RocksDB]            Options.target_file_size_multiplier: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.max_bytes_for_level_base: 536870912
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.level_compaction_dynamic_level_bytes: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]         Options.max_bytes_for_level_multiplier: 10.000000
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[0]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[1]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[2]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[3]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[4]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[5]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.max_bytes_for_level_multiplier_addtl[6]: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]      Options.max_sequential_skip_in_iterations: 8
[7] 10-27 05:26:00,955 INFO [RocksDB]                   Options.max_compaction_bytes:<PHONE_NUMBER>
[7] 10-27 05:26:00,955 INFO [RocksDB]                       Options.arena_block_size: 16777216
[7] 10-27 05:26:00,955 INFO [RocksDB]  Options.soft_pending_compaction_bytes_limit:<PHONE_NUMBER>6
[7] 10-27 05:26:00,955 INFO [RocksDB]  Options.hard_pending_compaction_bytes_limit:<PHONE_NUMBER>44
[7] 10-27 05:26:00,955 INFO [RocksDB]      Options.rate_limit_delay_max_milliseconds: 100
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.disable_auto_compactions: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]          Options.verify_checksums_in_compaction: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]                        Options.compaction_style: kCompactionStyleLevel
[7] 10-27 05:26:00,955 INFO [RocksDB]                          Options.compaction_pri: kByCompensatedSize
[7] 10-27 05:26:00,955 INFO [RocksDB] Options.compaction_options_universal.size_ratio: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.compaction_options_universal.min_merge_width: 2
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.compaction_options_universal.max_merge_width:<PHONE_NUMBER>
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.compaction_options_universal.max_size_amplification_percent: 200
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.compaction_options_universal.compression_size_percent: -1
[7] 10-27 05:26:00,955 INFO [RocksDB]Options.compaction_options_fifo.max_table_files_size:<PHONE_NUMBER>
[7] 10-27 05:26:00,955 INFO [RocksDB]                  Options.table_properties_collectors:
[7] 10-27 05:26:00,955 INFO [RocksDB]                  Options.inplace_update_support: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]                Options.inplace_update_num_locks: 10000
[7] 10-27 05:26:00,955 INFO [RocksDB]              Options.min_partial_merge_operands: 2
[7] 10-27 05:26:00,955 INFO [RocksDB]              Options.memtable_prefix_bloom_size_ratio: 0.100000
[7] 10-27 05:26:00,955 INFO [RocksDB]  Options.memtable_huge_page_size: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]                          Options.bloom_locality: 1
[7] 10-27 05:26:00,955 INFO [RocksDB]                   Options.max_successive_merges: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.optimize_filters_for_hits: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.paranoid_file_checks: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.force_consistency_checks: 0
[7] 10-27 05:26:00,955 INFO [RocksDB]               Options.report_bg_io_stats: 0
[7] 10-27 05:26:00,957 INFO [RocksDB]Recovered from manifest file:/var/lib/ardb/data/rocksdb/MANIFEST-000058 succeeded,manifest_file_number is 58, next_file_number is 60, last_sequence is 1, log_number is 0,prev_log_number is 0,max_column_family is 3

[7] 10-27 05:26:00,957 INFO [RocksDB]Column family [default] (ID 0), log number is 57

[7] 10-27 05:26:00,957 INFO [RocksDB]Column family [0] (ID 3), log number is 57

[7] 10-27 05:26:00,957 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>957642, "job": 1, "event": "recovery_started", "log_files": [59]}
[7] 10-27 05:26:00,957 INFO [RocksDB]Recovering log #59 mode 2
[7] 10-27 05:26:00,957 INFO [RocksDB]Creating manifest 61

[7] 10-27 05:26:00,959 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>959688, "job": 1, "event": "recovery_finished"}
[7] 10-27 05:26:00,964 INFO [RocksDB]DB pointer 0x7f3c38069000
[7] 10-27 05:26:00,964 INFO RocksDB open column family:default success.
[7] 10-27 05:26:00,964 INFO RocksDB open column family:0 success.
[7] 10-27 05:26:00,964 ERROR Unknown object type:111

So it looks like its trying to load some REDIS_RDB_TYPE with value 111 which is hitting the default case for the switch in RedisLoadObject.
Not sure if this is really related to this issue.

@bernardko what is the version of the redis dump file?

@bernardko  seems related with this commit https://github.com/yinqiwen/ardb/commit/bcfddc7fefa4d59679adee3d9e61ec69d3750b35

Are you asking about backup-file-format in the config? I left it as default.
backup-file-format                ardb

I'll give that commit a test run. thanks!

I'll be quite excited if you guys fix this. I had to move away from ARDB because of it to my custom wrapper around RocksDBJNI.

Just ran it on the new commit but unfortunately I'm getting the same error.
[7] 10-27 08:35:45,769 ERROR Unknown object type:111

Is there anymore information I can provide to help debug this problem?

@bernardko what is the key types stored in the snapshot?

@unoexperto I really want to get this fixed as its blocker to using ardb in production for me too.

In the snapshot, there are SETs, HSETs, ZSETs and LISTs.

@bernardko  is the snapshot generated by latest code or redis?

The snapshot is generated by the latest code.

@yinqiwen Just tried to generate a new snapshot on the latest commit but it failed with the following errors:
Also noticed that it deleted my old snapshot that I couldn't import previously because its too old.
[6] 10-27 21:02:06,393 WARN Remove snapshot:/var/lib/ardb-backup/save-redis-snapshot.289133692001.1489623791778110912.1509051963 since it's too old with offset:289133692001
[6] 10-27 21:02:06,393 WARN Remove snapshot file:/var/lib/ardb-backup/save-redis-snapshot.289133692001.1489623791778110912.1509051963
[6] 10-27 21:02:56,887 INFO RocksDB drop column family:0.
[6] 10-27 21:02:56,898 INFO [RocksDB]Dropped column family with id 1

[6] 10-27 21:02:56,899 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>899132, "job": 0, "event": "table_file_deletion", "file_number": 15936}
[6] 10-27 21:02:56,899 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>899417, "job": 0, "event": "table_file_deletion", "file_number": 15502}
[6] 10-27 21:02:56,899 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>899866, "job": 0, "event": "table_file_deletion", "file_number": 15501}
[6] 10-27 21:03:11,487 INFO RocksDB drop column family:2.
[6] 10-27 21:03:11,496 INFO [RocksDB]Dropped column family with id 4

[6] 10-27 21:03:11,498 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>498780, "job": 0, "event": "table_file_deletion", "file_number": 15497}
[6] 10-27 21:03:11,501 INFO [RocksDB]EVENT_LOG_v1 {"time_micros":<PHONE_NUMBER>501928, "job": 0, "event": "table_file_deletion", "file_number": 14229}
[6] 10-27 21:04:32,466 INFO Close write latch for snapshot save preparing start.
[6] 10-27 21:04:32,466 INFO Open write latch for snapshot save preparing complete.
[6] 10-27 21:08:40,560 ERROR Previous key:message:1:priority:high with type:5 is not complete dump, 3000 missing in 31926556 elements
[6] 10-27 21:08:40,623 ERROR Failed to write dump file for reason code:-2
[6] 10-27 21:08:40,623 WARN Failed to save snapshot file with type:redis
[6] 10-27 21:08:40,623 WARN Remove snapshot file:/var/lib/ardb-backup/save-redis-snapshot.1509138272466.tmp

For your information, message:1:priority:high is a queue which my application pops 3000 messsages at a time from.

I tried separating and regenerating a dataset from a different part of my application and tried generating a snapshot and importing. Getting the same error as before but with a different object type number.
[7] 10-27 21:33:37,368 ERROR Unknown object type:56

@bernardko  is there any write operation executed when saving snapshot?

Just to make sure I tried this again and double checked that all my applications were stopped. I'm getting the same error.
[6] 10-28 21:38:15,031 ERROR Previous key:message:1:priority:high with type:5 is not complete dump, 3000 missing in 33482586 elements
[6] 10-28 21:38:15,031 ERROR Failed to write dump file for reason code:-2
[6] 10-28 21:38:15,031 WARN Failed to save snapshot file with type:redis
[6] 10-28 21:38:15,031 WARN Remove snapshot file:/var/lib/ardb-backup/save-redis-snapshot.1509226497281.tmp

@bernardko 3000 missing in 33482586 elements means the length stored in the list meta value is 33482586, but there is only 33482586 - 3000 elements.  which operation are u used to delete elements for lists?

@yinqiwen I'm using lrange and ltrim in a pipeline to delete elements from the list.
1509241723.698964 "lrange" "message:1:priority:high" "0" "2999"
1509241723.725610 "ltrim" "message:1:priority:high" "3000" "-1"

@yinqiwen I was just testing to see if I can narrow down any clues to why I was getting the "ERROR Unknown object type:56" error with my particular dataset.
I found that it affected SETs that had a cardinality greater than 16383 with my dataset.
Here is what I tested:
<IP_ADDRESS>:6379[2]> FLUSHALL
OK
<IP_ADDRESS>:6379[2]> KEYS *
1) "message:11:fail_type:0"
<IP_ADDRESS>:6379[2]> TYPE message:11:fail_type:0
"set"
<IP_ADDRESS>:6379[2]> scard message:11:fail_type:0
(integer) 16383
<IP_ADDRESS>:6379[2]> BGSAVE
OK
<IP_ADDRESS>:6379[2]> FLUSHALL
OK
<IP_ADDRESS>:6379[2]> import /var/lib/ardb/backup/save-redis-snapshot.1438638672.4724544814123957252.1509241196
OK

The above is okay, then I flushed the database and generated another dataset with cardinality 16384:
<IP_ADDRESS>:6379[2]> FLUSHALL
OK
<IP_ADDRESS>:6379[2]> TYPE message:11:fail_type:0
"set"
<IP_ADDRESS>:6379[2]> KEYS *
1) "message:11:fail_type:0"
<IP_ADDRESS>:6379[2]> scard message:11:fail_type:0
(integer) 16384
<IP_ADDRESS>:6379[2]> BGSAVE
OK
<IP_ADDRESS>:6379[2]> import /var/lib/ardb/backup/save-redis-snapshot.1437360617.8932898519262761033.1509241034
Error: Connection reset by peer

The error in the logs show:
[7] 10-29 02:08:39,756 ERROR Unknown object type:32

I noticed that I'm getting this error with ZSETs as well.

@unoexperto  is the value stored in SETs is integer?

@yinqiwen No, they are all strings.

latest commit would fix the bug when length is greater than 1<<14,  the bug may crash the server .

@yinqiwen Great thanks, saving importing the snapshot from my test cases are working now.

@bernardko @yinqiwen Are you guys confirming that master branch no longer crashes on backup recovery ?

@unoexperto  the crash is fixed by https://github.com/yinqiwen/ardb/commit/13b99efd7c8e51358dca207748718453af08dda1


fix: put user rollup plugin always end

close https://github.com/vitejs/vite/issues/471#issuecomment-683318951

We are placing it last but I think there may be cases where the user expect the plugin to run first. We still need to figure something out - maybe add an additional rollupInputOptions.prePlugins that runs before all internal plugins.


Port search packages page

Tasks

[x] Port layout
[ ] Connect to API

[  ] Work out interface with backend

[ ] Show in page

This will be fixed in #52


[ISSUE-6550]. fix PojoUtils.realize error mentioned #6550

What is the purpose of the change
fix-#6550

LGTM

It can be merged?

Codecov Report

Merging #6551 (3e7026d) into master (b14e534) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #6551      +/-   ##
============================================
+ Coverage     59.02%   59.08%   +0.05%
- Complexity      504      508       +4
============================================
  Files          1028     1028
  Lines         41515    41519       +4
  Branches       6019     6037      +18
============================================
+ Hits          24505    24531      +26
+ Misses        14235    14214      -21
+ Partials       2775     2774       -1

Impacted Files
Coverage Δ
Complexity Δ

.../java/org/apache/dubbo/common/utils/PojoUtils.java
72.31% <100.00%> (+0.30%)
0.00 <0.00> (ø)

...c/main/java/org/apache/dubbo/rpc/RpcException.java
80.00% <0.00%> (-3.34%)
0.00% <0.00%> (ø%)

...dubbo/remoting/exchange/support/DefaultFuture.java
77.77% <0.00%> (-0.86%)
0.00% <0.00%> (ø%)

...org/apache/dubbo/registry/redis/RedisRegistry.java
48.81% <0.00%> (-0.40%)
27.00% <0.00%> (-1.00%)

.../apache/dubbo/config/bootstrap/DubboBootstrap.java
42.03% <0.00%> (-0.17%)
0.00% <0.00%> (ø%)

...che/dubbo/common/compiler/support/JdkCompiler.java
63.20% <0.00%> (ø)
0.00% <0.00%> (ø%)

...apache/dubbo/common/extension/ExtensionLoader.java
75.56% <0.00%> (+0.22%)
0.00% <0.00%> (ø%)

...ubbo/registry/client/ServiceDiscoveryRegistry.java
27.84% <0.00%> (+0.63%)
0.00% <0.00%> (ø%)

...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java
89.52% <0.00%> (+0.95%)
17.00% <0.00%> (+1.00%)

...ache/dubbo/common/compiler/support/ClassUtils.java
50.26% <0.00%> (+1.04%)
0.00% <0.00%> (ø%)

... and 7 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 b14e534...3e7026d. Read the comment docs.


Change uid/gid made downstream ci failed

Thank you for your greate job for docker-slave
But changes of https://github.com/jenkinsci/docker-slave/commit/19215a4806cf1a90c0991cf44f72db373f19e869 will make some user's CI/CD system fail

You can override using --build-arg uid=10000 --build-arg gid=10000 if needed. According to the commit, this change was made to make the agent image more consistent with the master docker image. It's not ideal to make this sort of change, but sometimes it can be necessary.

got，thx