HBASE-24811 Use class access static filed or method

Use class access static filed or method,not instance

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 31s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+0 :ok:
mvndep
0m 20s
Maven dependency ordering for branch

-1 :x:
mvninstall
2m 59s
root in master failed.

+1 :green_heart:
checkstyle
1m 39s
master passed

+1 :green_heart:
spotbugs
2m 49s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 21s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 30s
the patch passed

-0 :warning:
checkstyle
0m 24s
hbase-common: The patch generated 1 new + 14 unchanged - 0 fixed = 15 total (was 14)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
11m 20s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
3m 10s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 26s
The patch does not generate ASF License warnings.

36m  2s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux 106b3e2f5093 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8e33bb04bc

mvninstall
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-general-check/output/branch-mvninstall-root.txt

checkstyle
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-common.txt

Max. process+thread count
94 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m  1s
the patch passed

+1 :green_heart:
compile
1m 31s
the patch passed

-0 :warning:
javac
0m 25s
hbase-common generated 3 new + 30 unchanged - 0 fixed = 33 total (was 30)

+1 :green_heart:
shadedjars
5m 43s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 17s
hbase-common in the patch failed.

-0 :warning:
javadoc
0m 39s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
1m 37s
hbase-common in the patch passed.

-1 :x:
unit
136m 34s
hbase-server in the patch failed.

166m 23s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux ed54ce915514 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8e33bb04bc

Default Java
2020-01-14

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javac
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/diff-compile-javac-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/testReport/

Max. process+thread count
4340 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 30s
Docker mode activated.

-0 :warning:
yetus
0m  4s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 22s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 39s
master passed

+1 :green_heart:
compile
1m 17s
master passed

+1 :green_heart:
shadedjars
5m 40s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 59s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 23s
the patch passed

+1 :green_heart:
compile
1m 17s
the patch passed

-0 :warning:
javac
0m 22s
hbase-common generated 3 new + 30 unchanged - 0 fixed = 33 total (was 30)

+1 :green_heart:
shadedjars
5m 30s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 58s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 26s
hbase-common in the patch passed.

+1 :green_heart:
unit
142m 29s
hbase-server in the patch passed.

170m 16s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 7ab80d400aaf 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8e33bb04bc

Default Java
1.8.0_232

javac
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/artifact/yetus-jdk8-hadoop3-check/output/diff-compile-javac-hbase-common.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/testReport/

Max. process+thread count
4188 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+0 :ok:
mvndep
0m 13s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 24s
master passed

+1 :green_heart:
checkstyle
1m 28s
master passed

+1 :green_heart:
spotbugs
2m 37s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 13s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 18s
the patch passed

+1 :green_heart:
checkstyle
1m 28s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
10m 57s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
2m 56s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 25s
The patch does not generate ASF License warnings.

34m 45s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux a39f60ad5d35 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / ad7caf754a

Max. process+thread count
94 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 58s
the patch passed

+1 :green_heart:
compile
1m 30s
the patch passed

+1 :green_heart:
javac
1m 30s
the patch passed

+1 :green_heart:
shadedjars
5m 45s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 18s
hbase-common in the patch failed.

-0 :warning:
javadoc
0m 46s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
1m 37s
hbase-common in the patch passed.

-1 :x:
unit
7m 44s
hbase-server in the patch failed.

37m  5s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 8209ea244ebd 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / ad7caf754a

Default Java
2020-01-14

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/testReport/

Max. process+thread count
972 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 30s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 23s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 39s
master passed

+1 :green_heart:
compile
1m 19s
master passed

+1 :green_heart:
shadedjars
6m 13s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  3s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m  4s
the patch passed

+1 :green_heart:
compile
1m 25s
the patch passed

+1 :green_heart:
javac
1m 25s
the patch passed

+1 :green_heart:
shadedjars
6m 15s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  3s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 27s
hbase-common in the patch passed.

+1 :green_heart:
unit
141m  3s
hbase-server in the patch passed.

170m 53s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux af7873cc3abb 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / ad7caf754a

Default Java
1.8.0_232

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/testReport/

Max. process+thread count
4768 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 27s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+0 :ok:
mvndep
0m 27s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 33s
master passed

+1 :green_heart:
checkstyle
1m 36s
master passed

+1 :green_heart:
spotbugs
3m  0s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 13s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 50s
the patch passed

+1 :green_heart:
checkstyle
1m 35s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
12m 26s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
3m 15s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 21s
The patch does not generate ASF License warnings.

40m 33s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

uname
Linux a64159589643 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 3edfa1025c

Max. process+thread count
84 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 16s
the patch passed

+1 :green_heart:
compile
1m 35s
the patch passed

+1 :green_heart:
javac
1m 35s
the patch passed

+1 :green_heart:
shadedjars
5m 59s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 18s
hbase-common in the patch failed.

-0 :warning:
javadoc
0m 39s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
1m 23s
hbase-common in the patch passed.

-1 :x:
unit
133m 20s
hbase-server in the patch failed.

164m  5s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 0a5575fa7bfc 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 3edfa1025c

Default Java
2020-01-14

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-common.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/testReport/

Max. process+thread count
4235 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 28s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 28s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 24s
master passed

+1 :green_heart:
compile
1m 24s
master passed

+1 :green_heart:
shadedjars
5m 35s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 58s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 17s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 27s
the patch passed

+1 :green_heart:
compile
1m 19s
the patch passed

+1 :green_heart:
javac
1m 19s
the patch passed

+1 :green_heart:
shadedjars
5m 38s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  0s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 21s
hbase-common in the patch passed.

-1 :x:
unit
140m 41s
hbase-server in the patch failed.

168m 15s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2189

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 3ba8f9d67a12 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 3edfa1025c

Default Java
1.8.0_232

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/testReport/

Max. process+thread count
4800 (vs. ulimit of 12500)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2189/3/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

I think there is a typo in the title?
'filed' -> 'field'?


Make data volume name required in Shoot spec

How to categorize this PR?

/area usability
/kind api-change cleanup
/priority normal
What this PR does / why we need it:
This PR introduces a dedicated type for DataVolumes and makes the Name property a required field. This is API-wise backwards-compatible as the validation was enforcing a name always even before.
Special notes for your reviewer:
/cc @guydaichs @jia-jerry @ialidzhikov
Release note:

It is now correctly advertised in the OpenAPI specification that the `name` property for `dataVolumes` in the `Shoot` spec is a required field.

@danielfoehrKn ref https://github.com/gardener/gardener-extension-provider-azure/pull/107#discussion_r440021810


Mouse support for TTYs?

I use this in NetBSD and Alpine Linux, my setup doesn't have neither X nor Wayland, not even Bash, I'd love to see support for GPM and what nBSD uses for mouse support... Thanks for this! Its awesome! Also, another question; Commands for everything + tab completion would be very handy! So that I don't have to refer to the help page so much!

Thanks. I added some mouse support in the last commit.
It allows clicking links and switching tabs, but right now it most likely only works in terminal emulators.
I'm not too sure yet how to make GPM works with termbox(the TUI library that Vgmi uses) since I think GPM has ncurses as a dependency.
I will probably start looking at "moused" on NetBSD/FreeBSD first.
For the "commands for everything", could you recommend some commands that you think are missing?
Since I feel there's already a command for most hotkeys/actions in Vgmi.
And for the tab completion, yes it's something that I could implement eventually.

There is the option to use Consolation: https://salsa.debian.org/consolation-team/consolation
But it is worse, its based on libinput...
By commands for everything I meant:
:open
:new-tab
:next_tab
:previous_tab
etc, I meant to also add commands for the basic actions.
THanks!

Greetings,
I added support for GPM, it seems to work fine on my end.
To compile Vgmi with GPM support you will need to uncomment the two lines in the GNUmakefile file.
For the commands, there already was the command tabnew, I added an alias ":open" to the ":o" command.
I also added the commands "tabnext" and "tabprev". I try to keep the same command names as in Vim.
I will implement tab-completion eventually.

It works! Tho it needs some polishing, other programs select the button with one click, and only really press the buttons when you do a double click, that's what elinks and many other programs based on ncurses do.

I tested elinks and it seems to open links when the mouse button is released instead of on double clicks.
I added something similar, Vgmi now selects the link when pressing it and only open the link if the click is released while the cursor is still on it.
I also added tab completion, similar to what is in Vim.

🎉 Thanks!


Scrolling defeats the preview.

This is working for me now with XHTML5, and it looks nice. It even updates as I type---very nice.
But it suffers from the same scrolling problems that most HTML previewers suffer from. :frowning: If I have a long document (and all my documents are long documents), once I reach the bottom of the screen and keep typing, the preview does not scroll to my current edit position, so I can't see the information I'm currently typing.
But it gets worse: if I scroll the preview down to show me what I'm typing, the instant I type something else the page reloads---and scrolls back to the top, defeating even my manual scrolling!
So unfortunately this only works with short documents. And I don't have any short documents. :frowning: I can't even find a workaround. Any suggestions?

Not that this is not something this package could not handle, but you could write a script tag that could scroll a certain amount down the page when the page loads, I'll look at implementing this though, since it looks like it could be pretty simple script.

Taking a quick look at this, I think it should be relatively easy to do if we are able to figure out which part of your html you are editing by inserting something invisible at your cursor or something.
http://codepen.io/ZombieHippie/pen/YqEKJw?editors=1010


斜波浪线的添加

怎么保证在数据中添加斜波浪线，后面的数据位置不变？？？？？？？？

How to ensure that the oblique wavy line is added to the data and the position of the data behind remains unchanged ？？？？？？？？


Failed to highlight inline anonymous lambda pointers

Copied from here: vim/vim/issues/479

Hello,
I would like to report that syntax highlighter in vim does fully support lambdas in Perl:

#!/usr/bin/env perl

use strict;
use warnings;

sub say { print @_, "\n" }

say (&{ sub {
		my $m = 1;
		$m *= $_ for @_;
		return $m;
	}
}(1..8));

The code compiles and outputs 40320 with perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level.
My vim version:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov  3 2015 11:37:52)
MacOS X (unix) version
Included patches: 1-903
Compiled by Homebrew
Huge version without GUI.

Also, a huge ++ to @theoden8 for providing all of this information!  It really helps us deal with issues!


Testing globally registered components props

If you stub a component, the stub copies component props to the stub. This means you can check a stubbed component is passed the correct prop:
const wrapper = shallow(Component)
wrapper.find(StubbedComponent).hasProp('some', 'prop') // true

If you need to stub a globally registered component, like router-link, the props cannot be copied. So you can't check a stubbed component is passed a correct prop, you need to check using $attrs.
const wrapper = shallow(Component, {
  stubs: ['router-link']
})
wrapper.find(StubbedComponent).hasProp('to', 'value') // false
wrapper.find(StubbedComponent).vm.$attrs.to === value // true

One solution is create a stub using props:
const RouterLinkStub = {
  name: 'router-link-stub',
  render: () => {},
  props: ['to']
}

const wrapper = shallow(Component, {
  stubs: { 'router-link': RouterLinkStub }
})

wrapper.find(StubbedComponent).hasProp('to', 'value') // true
wrapper.find(StubbedComponent).vm.$attrs.to === value // false

Which isn't ideal.
Solution
A potential solution would be to have a stub factory that took props as an argument.
const RouterLinkStub = createStub({
  props: ['to']
})

const wrapper = shallow(Component, {
  stubs: { 'router-link': RouterLinkStub }
})

wrapper.find(StubbedComponent).hasProp('to', 'value') // true

Does anyone have any other suggestions?

I'd love an answer and a good example for doing exactly this.  This is the top search result for vue-test-utils router-link, so I'm going to ask here.
I'm trying to test a simple component that has a <router-link> in it, and I'm having troubles getting it to work at all.  To test my setup, which is using jest, I copied the List.vue file and test from the jest example.  This test runs fine.
My component, GoHome.vue:
<template>
<router-link :to="{name: 'Home', params: { path: this.path }}"><slot></slot></router-link>
</template>

and my test GoHome.spec.js
import { shallow } from 'vue-test-utils';
import { compileToFunctions } from 'vue-template-compiler';
import GoHome from<EMAIL_ADDRESS>
describe('GoHome.vue', () => {
  it('displays default message', () => {
    const wrapper = shallow(GoHome, {
      stub: ['router-link'],
      propsData: { to: 'helloworld' },
      slots: { default: compileToFunctions('
Hello World
') }
    });
    var bar = wrapper.find('router-link').hasProp('to', 'helloworld');
    var foo = wrapper.find('router-link').vm.$attrs.to === 'helloworld';
    console.log('foobar', foo, bar);
  });
});

First issue was that the slots do not accept text, only components, which need a root element.
Next, the shallow wrapper can't mount the component, seemingly it cant find router-link.
 FAIL  test\unit\specs\GoHome.spec.js
  ● Console

    console.error node_modules\vue\dist\vue.runtime.c
ommon.js:477
      [Vue warn]: Unknown custom element: <router-lin
k> - did you register the component correctly? For re
cursive components, make sure to provide the "name" o
ption.

      (found in <Root>)

  ● GoHome.vue › displays default message

    [vue-test-utils]: wrapper.hasProp() must be calle
d on a Vue instance

      at throwError (node_modules/vue-test-utils/dist
/vue-test-utils.js:12:9)
      at Wrapper.hasProp (node_modules/vue-test-utils
/dist/vue-test-utils.js:605:5)
      at Object.<anonymous> (test/unit/specs/GoHome.s
pec.js:12:43)
          at Promise (<anonymous>)
      at Promise.resolve.then.el (node_modules/p-map/
index.js:42:16)
          at <anonymous>
      at process._tickCallback (internal/process/next
_tick.js:188:7)

I'm not sure if I'm calling wrapper correctly or not, or if wrapper.find is wrong.  Does anyone have some examples on testing a component with router-link.

Sorry, the example in my original post is wrong. I've updated it. If you're still having issues, can you ask a question on stubbing router-link on StackOverflow.

Thanks, I was able to get it working.  I expanded the router-link-stub above to render the link and the to property.  There may be a better way, but this works for me.
import util from 'util';

export const RouterLinkStub = {
  name: 'router-link-stub',
  render(h) {
    return h(
      'router-link',
      {
        attrs: Object.keys(this._props).reduce((attrs, key) => {
          attrs[key] = util.inspect(this._props[key]);
          return attrs;
        }, {})
      },
      this.$slots.default
    );
  },
  props: ['to']
};

And my test becomes:
import { shallow } from 'vue-test-utils';
import { compileToFunctions } from 'vue-template-compiler';
import { createRenderer } from 'vue-server-renderer';
import GoHome from<EMAIL_ADDRESS>import { RouterLinkStub } from '../utils';

describe('GoHome.vue', () => {
  it('renders a router-link with a path', () => {
    const wrapper = shallow(GoHome, {
      stubs: { 'router-link': RouterLinkStub },
      propsData: { path: 'helloworld' },
      slots: { default: compileToFunctions('
Hello World
') }
    });

    // make sure the `to` attribute exists.
    expect(wrapper.element.getAttribute('to'));

    const renderer = createRenderer();
    renderer.renderToString(wrapper.vm, (err, str) => {
      if (err) throw new Error(err);
      expect(str).toMatchSnapshot();
    });
  });
});

which renders the following snapshot:
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`GoHome.vue reners a router-link with a path 1`] = `
<router-link to="{ name: 'Home', params: { path: 'helloworld' } }">

Hello World

</router-link>
`;

Hi,
Thank you for your post.
I have my navMenu.vue.html as Follows:

                        <router-link to="/" :exact="false" router-link-active="true" >
                             Upload
                        </router-link>

                        <router-link to="/counter">
                             Admin
                        </router-link>

and I would like to test the router-link. As your doesnt mention on how to test specific router at a time. Please could you advise on how to do this.I am using vue-test-utils. I am very new to Jasmine and Karma.Please help.

If I try this:

import { mount, RouterLinkStub } from '@vue/test-utils'

const wrapper = mount(Component, {
  stubs: {
    RouterLink: RouterLinkStub
  }
})

wrapper.find(RouterLinkStub)

I've got the following error:

[vue-test-utils]:
options.stub values must be passed a string or component

This is because RouterLinkStub is undefined. Why does this happened?

@eddyerburgh I know I'm late to the discussion, but I believe the method for testing if a stubbed component has been passed the correct prop has changed slightly. Do you agree with my implementation to test the value of a to prop on a router-link element?
import { shallowMount, RouterLinkStub } from '@vue/test-utils';
import ButtonLink from<EMAIL_ADDRESS>
describe('ButtonLink.vue', () => {
  const to = '/companies';
  const wrapper = shallowMount(ButtonLink, {
    stubs: { RouterLink: RouterLinkStub },
    propsData: { to },
  });

  it('use route provided in props.to as href', () => {
    // If you stub a component, the stub copies component props to the stub.
    // This means you can check a stubbed component is passed the correct prop
    const href = wrapper.find(RouterLinkStub).props('to');
    expect(to).toEqual(href);
  });


Feature request: ability to start with the console minimized or hidden in Windows with --onefile

I have a very large GUI application compiled with Nuitka. The application spawns console programs, captures their stdout / stderr, then stops them by sending them CTRL_C_EVENT. Therefore I can't use --disable-console because then I can't send CTRL_C_EVENT to the process group, which would then have no console attached.
The application is compiled with --onefile. It all works fine, but there's just one minor thing that doesn't look terribly professional: when it start - which takes roughly 30 seconds - the black console appears under the splash screen. Once the application is started, I can hide the console and leave only the Tkinter panel. But during those 30 seconds of startup, the console is shown.
Therefore I suggest adding a command line argument to Nuitka to minimize or hide the console immediately upon starting the executable.
It's cosmetic and totally minor. Not a showstopper.

This can be done by adding to the onefile boot strap C code, passing this as an option. I think we previously thought about making console mode a string choice rather than a boolean, so this might even be a duplicate of what @deajan asked for at some point. I am not ready to do it yet myself, so takers for a PR will be welcome


[WIP] Update to Checker Framework 3.21.2

Changes relevant to us:

https://github.com/typetools/checker-framework/pull/5000 lets us simplify our flow function for ternary expressions
Nullability updates that will simplify running NullAway on NullAway: https://github.com/typetools/checker-framework/pull/5017, https://github.com/typetools/checker-framework/pull/5018, https://github.com/typetools/checker-framework/pull/5029
Optimization in https://github.com/typetools/checker-framework/pull/5056

Pull Request Test Coverage Report for Build #737

0 of 0   changed or added relevant lines in 0 files are covered.
10 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.1%) to 89.443%

Files with Coverage Reduction
New Missed Lines
%

../nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessPropagation.java
10
90.1%

Totals

Change from base Build #735:
0.1%

Covered Lines:
4194

Relevant Lines:
4689

💛  - Coveralls

Benchmarking results.  Before:
Benchmark                      Mode  Cnt   Score   Error  Units
AutodisposeBenchmark.compile  thrpt   25  11.058 ± 0.084  ops/s
CaffeineBenchmark.compile     thrpt   25   2.421 ± 0.009  ops/s

After:
Benchmark                      Mode  Cnt   Score   Error  Units
AutodisposeBenchmark.compile  thrpt   25  11.049 ± 0.080  ops/s
CaffeineBenchmark.compile     thrpt   25   2.438 ± 0.019  ops/s

Pretty much no change.  I was hoping for some improvement, but we may need a more involved benchmark to show that.


update docker setup-buildx-action version

Trello card
https://trello.com/c/54CpSWSs/2078-git-snyk-alerts
Context
While fixing snyk base image vulnerabilities, noticed docker/setup-buildx-action was pinned to version 0.9.1
Removed this, and also added DOCKER_BUILD_RECORD_UPLOAD:false to build-push-action.
Changes proposed in this pull request
Updates to build and build-no-cache workflows
Guidance to review
Check build runs and review app deploys ok

 GIT snyk alerts


Only show info on necessary contract creation on dashboard to Hiwis

This information is not necessary for WiMis, Representatives and Admins.

The "You are logged in as <name>"  can also be removed.
The name of the logged in user in now displayed in the top bar.


Export tables

Are there any examples for exporting tables using ee-runner?

Should be fixed, see export_table.js and export_image.js


is there any clear or clean or cleanup method?

is there any clear or clean or cleanup method or clear the gpio pins?

By default, pins are reset to their original state when they go out of scope (see set_reset_on_drop on the various pin structs). To programmatically reset a pin to its original state, you'll have to drop any references to that pin.
Note that drop methods aren't called when a process is abnormally terminated (for instance when a SIGINT signal isn't caught), so exiting an application by pressing Ctrl-C won't reset the pin states. Check out this example for a workaround.

By default, pins are reset to their original state when they go out of scope (see set_reset_on_drop on the various pin structs). To programmatically reset a pin to its original state, you'll have to drop any references to that pin.

How does this work for pull up/down resistors?
I have modified my /boot/config.txt, such that GPIO 6 on my pi is configured as an input pin with a pull-up resistor upon boot. My multimeter tells me that this works as expected (I measure about 3.3V between this pin and GND).
Now, I have created a program using rppal that reconfigures this pin to do some work. I would expect the things to return to the original state after the program has finished, but it leaves my pin at ~0.8V. The program does not crash; it finishes successfully.

Apologies for the late response.

Edit 2: Welp, seems like it's simply not possible to read the state of the resistors on my 3b+ :/

Yeah, unfortunately that was the case at the time the cleanup code was added. I wasn't aware that this changed for the BCM2711 (and presumably the upcoming BCM2712) so it's something I may need to revisit.
As for your specific situation, your best bet would probably be to disable reset_on_drop and do any needed clean-up yourself to keep the pull-up resistor enabled.


Error in registerTeam

I am currently running

SpongeForge version: spongeforge-1.12.2-2838-7.1.7-RC3875
SpongeVanilla version:
Java version: 1.8.0_202
Operating System: Windows 10 (but irrelevant)

Plugins/Mods: Plugins (9): Minecraft, Minecraft Coder Pack, SpongeAPI, Sponge, GlowTrails, LuckPerms, Nucleus, ShadowCore, serversync

Issue Description
When we upgrade to spongeforge 7.1.7 (RC3875 at the time of testing yesterday)
Our custom plugin that uses teams to have people glow in all sort of colors broke,
java.lang.ClassCastException: net.minecraft.scoreboard.ScorePlayerTeam cannot be cast to org.spongepowered.common.bridge.scoreboard.ScorePlayerTeamBridge
I try'd to debug it seeing if code was somehow messed up, but it follows Sponge api 7.1.0 correctly
It also works perfectly fine on 7.1.6 Stable
After some investigation i noticed that allot of changes happend in the teams in 7.1.7.
has the way sponge handles teams changed in some way? or is this just a bug
cause i try'd to use another plugin that uses teams in almost similar way of our code
and that one fails exactly same error to (https://ore.spongepowered.org/HDR/Player-Glow) also on registerTeam

(https://gist.github.com/PurpleIsEverything/7b193109c07c33c0994f1de73efcc9f1)
    private final Scoreboard scoreboard = Scoreboard.builder().build();
    ...
    public PlayerGlow(GlowTrails plugin) {
        PlayerGlow.plugin = plugin;
        for (GlowColour color : GlowColour.values()) {
            TextColor textColor = color.getTextColor();
            Team team = Team.builder().name(color.getTeam()).prefix(Text.of(new Object[]{textColor})).color(textColor).build();
            team.setAllowFriendlyFire(true);
            team.setCanSeeFriendlyInvisibles(false);
            scoreboard.registerTeam(team);
            teams.put(color, team);
        }
    }
   ...

@Alexandrea Fixed in latest SF. Thanks for the heads up.


SellingApiServerException - while call - create_product_review_and_seller_feedback_solicitation api in sandbox env

from sp_api.api import Solicitations
from sp_api.base import Marketplaces
credentials=dict(         refresh_token='your_refresh_token',         lwa_app_id='your_lwa_app_id',         lwa_client_secret='your_lwa_client_secret',         aws_secret_key='your_aws_secret_key',         aws_access_key='your_aws_access_key',         role_arn='your_role_arn'     )
if __name__ == "__main__":
     solicitation = Solicitations(credentials=credentials,  marketplace=Marketplaces.US)
     solicitation_api = solicitation.create_product_review_and_seller_feedback_solicitation(amazonOrderId='123-1234567-1234567', marketplaceIds = [Marketplaces.US.marketplace_id] )
This is my response for create_product_review_and_seller_feedback_solicitation -
sp_api.base.exceptions.SellingApiServerException: [{'message': 'We encountered an internal error. Please try again.', 'code': 'InternalFailure'}]
I have pass all the credentials currently and it is working with get_solicitation_actions_for_order API but it is causing problem for create_product_review_and_seller_feedback_solicitation API.

@Lokeesh-27,
Did you try to run get_solicitation_actions_for_order before create_product_review_and_seller_feedback_solicitation?
Could you check if it's available for order? also - when was the order created, if it was too long ago - it won't be available.

@Lokeesh-27, Did you try to run get_solicitation_actions_for_order before create_product_review_and_seller_feedback_solicitation? Could you check if it's available for order? also - when was the order created, if it was too long ago - it won't be available.

This is my get_solicitation_actions_for_order API response and this is SandBox Environment -
{
    "_links": {
        "actions": [
            {
                "href": "/solicitations/v1/orders/123-1234567-1234567/solicitations/productReviewAndSellerFeedback?marketplaceIds=ATVPDKIKX0DER",
                "name": "productReviewAndSellerFeedback"
            }
        ],
       "self": {
            "href": "/solicitations/v1/orders/123-1234567-1234567?marketplaceIds=ATVPDKIKX0DER"
        }
    }
}
after running get_solicitation_actions_for_order only i am running create_product_review_and_seller_feedback_solicitation -
This is the error facing after running create_product_review_and_seller_feedback_solicitation` API -
sp_api.base.exceptions.SellingApiServerException: [{'message': 'We encountered an internal error. Please try again.', 'code': 'InternalFailure'}]

@Lokeesh-27
Sorry for long response.
I am not sure this will work in SandBox (assuming it should)
But in my prod code, I use simple logic:
amz_order_id = 'SomeAmazonOrderId'
r = cli.get_solicitation_actions_for_order(amazonOrderId= amz_order_id)
actions = resp.payload.get('_links', {}).get('actions', [])
act_ = next((e for e in actions if e.get('name', '') == 'productReviewAndSellerFeedback'), None)
if act_:
    response = cli.create_product_review_and_seller_feedback_solicitation(
        amazonOrderId= amz_order_id, marketplaceIds='ATVPDKIKX0DER')  # or marketplace_id for your order

@yberezkin
I think this is a problem from Amazon side while using sandbox env. Thanks for the assist man.


Geometry

Creating a new branch for the implementation of geometry functionalities.

Hi Lorenzo. Today I can work on transformation tests. Tell me if it is ok to you

Ok Giovanni now all that remains is to develop the tests for the transformation class, here is the list of tests to be implemented

[ ] Test isClose()
[ ] Test Multiplication()
[ ] Test Vec/Point/Normalmultiplication()
[ ] Test inverse()
[ ] Test translation()

Ok Giovanni now all that remains is to develop the tests for the transformation class, here is the list of tests to be implemented

[ ]  Test isClose()
[ ]  Test Multiplication()
[ ]  Test Vec/Point/Normalmultiplication()
[ ]  Test inverse()
[ ]  Test translation()

Thanks Lorenzo, your to-do list is very helpful

Now all the test should work. Hope you'll undesterstand my tests.
Xoxo


SimpleMDE editor sometimes not loading on firefox

On the Storybook entry it works with the same browser, so it seems to be eodash v4 related, not sure if the issue should be here.
I tried to do some comparisons on the dom when working not working because i do not get errors in eodash.
From what i can see the from with class je-ready does not seem to be initialized correctly in the eodash instance. The form is empty and does not have the data-theme property.
Hope this can help!

@santilland I fear we have a works on my machine type of issue :thinking:

This has happened to me also in chrome now a couple of times. It seems to be a timing issue, some kind of race condition, refreshing page usually solves the issue.
It should be possible to reproduce by refreshing the browser multiple times until it happens.


Face Alignment - 1st, Extraction - 2nd

My challenge with RetinaFace is that I haven't found a way yet how to first detect the face, second, align the image based on the eyes line, and third, only after that to extract the image and export the face as an separate image file.
Only in this way it can be avoided the data lost (black areas, as a result of extraction first following by alignment).
Thanks you for your project. It's awesome and it's pretty straight forward.

Closed with PR - https://github.com/serengil/retinaface/pull/75


Reduce static footprint

These changes reduce memory usage in our firmware by about 30K when matter is disabled.
This is important to us, as matter is optional and not the only stack we support, making large static and global variables too expensive.

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

This change completely ignores constrained devices for which using the heap for global objects both adds unnecessary overhead and makes it more difficult to estimate the actual memory usage.

Hi Damian, Matter SDK uses dynamic allocation extensively, so arguably this battle has already been lost. We are very much aware of constrained environments - ours is very tight indeed, and the reason we are doing this is because in our case Matter can be enabled and disabled at runtime, and we don't want to be paying the static memory price when it's disabled.

this change saves ~30K or RAM when Matter is disabled (not initialized), which is a significant amount of memory in our environment (ESP32-C3).

Hi Damian, Matter SDK uses dynamic allocation extensively, so arguably this battle has already been lost. We are very much aware of constrained environments - ours is very tight indeed, and the reason we are doing this is because in our case Matter can be enabled and disabled at runtime, and we don't want to be paying the static memory price when it's disabled.

Well, our tests show that currently devices remain stable with less than 10kB of heap and the heap seems to be mainly used for temporary objects, which is great because when used for temporary objects, the heap can actually reduce the total memory usage. On the other hand, using the heap for lazy initialization of objects that are never destroyed may cause the heap fragmentation and hence larger total memory usage.
That's why I suggest to hide the global object initialization under a configurable abstraction, such as Global<>. Then we can both win without stepping on each others' toes :).

That's why I suggest to hide the global object initialization under a configurable abstraction, such as Global<>.

Could you clarify that suggestion, please? Global<> doesn't seem to handle anything array-like at the moment. Also, we've changed it to allocate from heap in this PR too.

Could you clarify that suggestion, please? Global<> doesn't seem to handle anything array-like at the moment. Also, we've changed it to allocate from heap in this PR too.

I mean that e.g. instead of turning:
static BindingTable sInstance;

into a static unique_ptr, you can turn it into:
static Global<BindingTable> sInstance;

and configure Global to use lazy initialization.
I'm not against your changes in Global<> (this is up to @ksperling-apple), but only against turning all globals into heap-allocated objects.

I'm not against your changes in Global<> (this is up to @ksperling-apple), but only against turning all globals into heap-allocated objects unconditionally. Speaking of arrays, Global<int[20]> a built OK to me. Can you clarify what doesn't work for you?

Thanks Damian, I'm not sure it will work properly even if it compiles. Actually, I'm pretty sure the original create and destroy functions didn't - they would neither construct nor destruct each element of the array. It doesn't seem such use was intended.
Also, another thing Global<> doesn't support is non-default constructed variables and I remember at least one such case here: https://github.com/project-chip/connectedhomeip/pull/34316/files#diff-971ae85e36e17285500f7fe2d75688390cdf62f52383edf011b064f510d9cb21R773
Is a compile-time option to switch between static and heap allocations what you actually want? I'm not sure Global<> is the best place for it or that LAZY_INIT is the best option. Maybe adding a new option would work better (and not necessarily be restricted to Global<>)?

Thanks Damian, I'm not sure it will work properly even if it compiles. Actually, I'm pretty sure the original create and destroy functions didn't - they would neither construct nor destruct each element of the array. It doesn't seem such use was intended.
Also, another thing Global<> doesn't support is non-default constructed variables and I remember at least one such case here: https://github.com/project-chip/connectedhomeip/pull/34316/files#diff-971ae85e36e17285500f7fe2d75688390cdf62f52383edf011b064f510d9cb21R773
Is a compile-time option to switch between static and heap allocations what you actually want? I'm not sure Global<> is the best place for it or that LAZY_INIT is the best option. Maybe adding a new option would work better (and not necessarily be restricted to Global<>)?

Ok, I won't argue about the original methods though new (mStorage) T(); should work OK for T = MyClass[10]. The thing is it surely can be fixed to support arrays. It's true that non-default constructed variables are an issue but we have options to work around them:

Replace the constructor with Init() method.
CommonCaseDeviceServerInitParams is just the default, and an application doesn't have to use it. You can just construct ServerInitParams from scratch (or we can do it if your approach is preferred by others :)).

I personally like the idea of adding a new option for Global<> but it would be good to get feedback from @ksperling-apple as he added the original one.

And yes, I suspect adding more configurability options for Global and using it more is the way to go.

I do fully agree to @bzbarsky-apple that these changes (going from static to dynamic) introduce high risks for most of the use cases. Instead, this kind of optimization should be handled by compile-time configuration.
Obviously, this would mean that the original intention of this PR (better memory usage when Matter is disabled) would not be possible.

ok, thanks for feedback everyone.
a compile-time option to make static allocations dynamic, with default to keep things static, would also do the jobs.
#define CHIP_ENABLE_DYNAMIC_STATICS that makes all Global<>s lazy or something.
is that something that would be acceptable?

I would call it CHIP_CONFIG_DYNAMIC_GLOBALS or something, but yes, that seems reasonable.

This change completely ignores constrained devices for which using the heap for global objects both adds unnecessary overhead and makes it more difficult to estimate the actual memory usage. Why not to use the existing Global<> helper if you prefer to customize the global object handling for your platform?

Done - added a CHIP_CONFIG_DYNAMIC_GLOBALS option (disabled by default).

I only looked at Global.h for now, in case changes there affect how the other bits work, but I tried this PR on Mac with #define CHIP_CONFIG_DYNAMIC_GLOBALS 1 and it fails unit tests with ASAN failures.... So that's worth looking into, perhaps. But maybe after we settle on how Global.h should work.

How can I reproduce this? ninja -C out/host check seems to be passing on my Mac. Is ASAN enabled by default and how should I run the tests with it if not?


Make a better installer

@matt3274  says he knows of a better way to register transitevaluator.dll with ArcMap.  This is a real problem for a lot of users.

I have also had issues with this DLL. If there is a better way, it would be good to explore that.

This is being worked on.  No guarantees, but I'm hoping for a working installer in the next month or two.

At long last, an official installer for Add GTFS to a Network Dataset! This should resolve most of the extensive problems people have with registering the transit evaluator.
Note that only the pre-compiled installer code is included here. The compiled installer will be available from ArcGIS Online for download, and that's how you actually install the tools. (Will be added shortly)


Check whether the task finishes before deferring the task for DbtCloudRunJobOperatorAsync

Like the SnowflakeOperatorAsync, we need to verify if the task has already completed before deferring it to prevent unnecessary deferring. This way, we can skip deferring the task if it has already been finished.


How to get image temperature?

Hi, thanks for your great job.
I am wondering how to get image or pixels temperature value.

Hi @finnickniu,
I think you are talking about the far-infrared camera... However, it seems that Spinnaker SDK only supports machine vision cameras (e.g., BlackFly, Flea3, etc.), not far-infrared cameras.
(In EasyPySpin, cv2.CAP_PROP_TEMPERATURE acquires the internal temperature of the camera.)

Hi elerac,
Thanks for your qucik reply. You are right, I am using flir Axx3 series thermal camera, and I am fresh in this area. I want to find a python/c++ sdk to get the temperature, do you have any idea?
Many Thanks。

Here is a list of SDKs to control the flir cameras.
I don't have a thermal camera, so I don't know the details, but according to this list, File SDK or Atlas SDK is the right choice for thermal analysis.

Thanks!


Create configuration file for background analysis (e.g, .spam\config.json or .spam config.yml)

If we prefer a JSON file, we'd need to exclude it from rules loading. Maybe explore using YML?
We can start with a single setting:
BackgroundAnalysisEnabled=true;
... when set to false, background analysis should cease. The right-click menu analyze project and analyze solution commands will still be available.

Hi @michaelcfanning , in this case, that property will only block the file analysis type. Is that correct?
If that is the case, should we rename to FileBackgroundAnalysisEnabled, with that, we could have a global one (which would disable all kinds).

Hi @michaelcfanning , in this case, that property will only block the file analysis type. Is that correct?
If that is the case, should we rename to FileBackgroundAnalysisEnabled, with that, we could have a global one (which would disable all kinds).

Going to JSON it would be easier to parse.
If we go with YML, the parse might be a little harder, unless we use a pre-existing package.

Going to JSON it would be easier to parse.
If we go with YML, the parse might be a little harder, unless we use a pre-existing package.

So we need to find the .spam folder and config.json file in solution root folder?
User may open a individual file not a part of solution.
If cannot find config file, default value will be applied.

So we need to find the .spam folder and config.json file in solution root folder?
User may open a individual file not a part of solution.
If cannot find config file, default value will be applied.

Another option is to create a visual studio option/option page for sarif extension.

Another option is to create a visual studio option/option page for sarif extension.

for example:

for example:

For example:

@michaelcfanning @eddynaka  what do you think?

For example:

@michaelcfanning @eddynaka  what do you think?

@yongyan-gh , how does that work? for example, does it save the data somewhere? if yes, where? will the saved that be shared between solutions?

@yongyan-gh , how does that work? for example, does it save the data somewhere? if yes, where? will the saved that be shared between solutions?

@eddynaka
according to this link, the option is saved per visual studio profile by default. No coding needed.

Persist Tools Options page state
If a Tools Options page implementation is registered with automation support enabled, the IDE persists the page's state along with all other Tools Options pages.
A VSPackage can manage its own persistence by using ProvideProfileAttribute. Only one or the other method of persistence should be used.

@eddynaka
according to this link, the option is saved per visual studio profile by default. No coding needed.

Persist Tools Options page state
If a Tools Options page implementation is registered with automation support enabled, the IDE persists the page's state along with all other Tools Options pages.
A VSPackage can manage its own persistence by using ProvideProfileAttribute. Only one or the other method of persistence should be used.

I think it's a nice and clean idea! And everything would be in one place, just like all the other features.
Let's do it! :)

I think it's a nice and clean idea! And everything would be in one place, just like all the other features.
Let's do it! :)

Update: we created the window with two options: enable automatic analysis and enable automatic analysis for sarif files.
we can add more options later if needed

Update: we created the window with two options: enable automatic analysis and enable automatic analysis for sarif files.
we can add more options later if needed


Document isLog4jAutoShutdownDisabled to enable logging during a web application listener's contextDestroyed

As discussed in issue LOG4J2-1606, a flag was added to address the problem of log4j-web shutting down Log4j when other listeners defined in the web app still want to log messages during their contextDestroyed. However, this is not documented anywhere and it was quite difficult for me to find the solution.  I suggest documenting this in Using Log4j 2 in Web Applications or Frequently Asked Questions:
When your web application includes log4j-web (as it should) and you would like to use Log4j to log messages when one of your listener's contextDestroyed method is called, include the following near the top of your web.xml:
<context-param>
	<!-- auto-shutdown stops log4j when the web fragment unloads, but that is too early because it is before
		the listeners shut down. To compensate, use a Log4jShutdownOnContextDestroyedListener and register it before
		any other listeners which means it will shut down *after* all other listeners. -->
	<param-name>isLog4jAutoShutdownDisabled</param-name>
	<param-value>true</param-value>
</context-param>

<listener>
	<!-- ensure logging stops after other listeners by registering the shutdown listener first -->
	<listener-class>org.apache.logging.log4j.web.Log4jShutdownOnContextDestroyedListener</listener-class>
</listener>

Note that for Servlet 3.x, you don't need to include your listener in your web.xml if it is annotated with @WebListener. The above solution will still work for you.

Hi @krallus,
Since Log4j 2.21.0 you don't need to disable the automatic shutdown, you only need to register manually an (additional) Log4jServletListener as first listener in a web.xml descriptor:
<listener>
  <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>

See #1784 for details.
We are currently in the process of rewriting our documentation page. A note about the order of context listeners is already present in the 3.x staging site and we will soon backport the documentation changes to 2.x (see #2547).

Thank you for sharing your solution, @ppkarwasz. It did not appear as a result in any of my searches.
I can confirm that your solution works for me, both during web app undeploy and during server shutdown. I tested this on Tomcat 9+Java 8, Servlet 3.1, and Log4j 2.23.1, with log4j-web included.


Adding replication benchmark

I created a subproject to hold the benchmarks and added one for replication. To avoid too many changes in this commit, I'll move the existing benchmarks later.
This benchmark is not really micro. We utilize the RaftHandle instances to replicate the data with Raft.
We measure the throughput by varying the cluster and data sizes.
This is similar to how a user configures and uses the instances.
The goal is to add a benchmark to start working towards JDK 21 features.
Especially around the virtual threads, so we want to measure the performance with enabled/disabled.
And at later stages, we could measure when applying some architectural changes.
@franz1981, let me know what you think when you're back.

I am running this benchmark on JDK 21 (21+35) on an AMD Ryzen 5 3500X 6-Core Processor.
First, a baseline with InMemoryLog implementation. We have no writes to disk with this one.

And the JMH output for that was:
Benchmark                                 (clusterSize)  (dataSize)   Mode  Cnt       Score      Error  Units
DataReplicationBenchmark.testReplication              1         256  thrpt    5  156554.879 ± 6854.907  ops/s
DataReplicationBenchmark.testReplication              1        1024  thrpt    5  108758.445 ±  746.293  ops/s
DataReplicationBenchmark.testReplication              1        4096  thrpt    5   28750.762 ±   16.965  ops/s
DataReplicationBenchmark.testReplication              3         256  thrpt    5   21411.663 ± 1395.440  ops/s
DataReplicationBenchmark.testReplication              3        1024  thrpt    5   21466.775 ± 1536.580  ops/s
DataReplicationBenchmark.testReplication              3        4096  thrpt    5   22084.768 ±  735.159  ops/s
DataReplicationBenchmark.testReplication              5         256  thrpt    5   19412.594 ±  483.408  ops/s
DataReplicationBenchmark.testReplication              5        1024  thrpt    5   18729.931 ±  432.269  ops/s
DataReplicationBenchmark.testReplication              5        4096  thrpt    5   15116.383 ±  696.190  ops/s

The thing here is the drop in the single node going from 1024 bytes to 4096.
I did a quick check, and the culprit here seems to be the message fragmentation.
We keep waiting on the CreditMap for credits to be available.
I can get some prints, if necessary. But should be easy to check that.
FileBasedLog
Now, starting with stable storage in the system.
I ran the benchmark enabling and disabling fsync.
fsync disabled
Starting with fsync disabled.

We have the same drop as the in-memory log.
And, in the cluster, we have a similar throughput to in-memory, too.
I guess the replication to other nodes dominates everything.
The JMH output here was:
Benchmark                                 (clusterSize)  (dataSize)   Mode  Cnt       Score      Error  Units
DataReplicationBenchmark.testReplication              1         256  thrpt    5  142746.620 ± 5649.177  ops/s
DataReplicationBenchmark.testReplication              1        1024  thrpt    5  108998.248 ±  300.977  ops/s
DataReplicationBenchmark.testReplication              1        4096  thrpt    5   28760.314 ±   36.031  ops/s
DataReplicationBenchmark.testReplication              3         256  thrpt    5   21581.735 ±  914.821  ops/s
DataReplicationBenchmark.testReplication              3        1024  thrpt    5   20477.593 ± 2178.954  ops/s
DataReplicationBenchmark.testReplication              3        4096  thrpt    5   20432.116 ±  702.711  ops/s
DataReplicationBenchmark.testReplication              5         256  thrpt    5   18825.619 ±  173.113  ops/s
DataReplicationBenchmark.testReplication              5        1024  thrpt    5   17729.728 ±  122.396  ops/s
DataReplicationBenchmark.testReplication              5        4096  thrpt    5   14518.041 ±  815.735  ops/s

fsync enabled
With fsync enabled.

We have a drop on the case for single-node and a smaller message.
Other than that, everything is pretty similar.
The JMH output for this run:
Benchmark                                 (clusterSize)  (dataSize)   Mode  Cnt       Score      Error  Units
DataReplicationBenchmark.testReplication              1         256  thrpt    5  140909.868 ± 5541.895  ops/s
DataReplicationBenchmark.testReplication              1        1024  thrpt    5  108922.101 ±  917.301  ops/s
DataReplicationBenchmark.testReplication              1        4096  thrpt    5   28765.462 ± 1847.612  ops/s
DataReplicationBenchmark.testReplication              3         256  thrpt    5   21694.445 ±  835.020  ops/s
DataReplicationBenchmark.testReplication              3        1024  thrpt    5   20986.808 ±  904.307  ops/s
DataReplicationBenchmark.testReplication              3        4096  thrpt    5   20017.131 ±  573.814  ops/s
DataReplicationBenchmark.testReplication              5         256  thrpt    5   18212.267 ±  255.478  ops/s
DataReplicationBenchmark.testReplication              5        1024  thrpt    5   17580.337 ±  818.260  ops/s
DataReplicationBenchmark.testReplication              5        4096  thrpt    5   14580.382 ±  321.329  ops/s

LevelDB
Now, the executions utilize the LevelDBLog implementation.
The default configuration.
Bela mentioned that enabling fsync with LevelDB doesn't actually flush everything.
So the comparisons with fsync could be unfair.
fsync disabled
With fsync set to false.

Not to brag, but the log implementation we ship is performing better here.
In addition, the confidence intervals are a bit larger than the others.
I ran that a few times and the results were all similar.
The JMH output:
Benchmark                                 (clusterSize)  (dataSize)   Mode  Cnt      Score       Error  Units
DataReplicationBenchmark.testReplication              1         256  thrpt    5  93523.196 ± 11632.784  ops/s
DataReplicationBenchmark.testReplication              1        1024  thrpt    5  81565.789 ±  4244.783  ops/s
DataReplicationBenchmark.testReplication              1        4096  thrpt    5  28750.379 ±  1266.126  ops/s
DataReplicationBenchmark.testReplication              3         256  thrpt    5  19237.459 ±  1767.513  ops/s
DataReplicationBenchmark.testReplication              3        1024  thrpt    5  17675.199 ±  2231.221  ops/s
DataReplicationBenchmark.testReplication              3        4096  thrpt    5  14085.667 ±  1308.144  ops/s
DataReplicationBenchmark.testReplication              5         256  thrpt    5  16251.385 ±  1335.671  ops/s
DataReplicationBenchmark.testReplication              5        1024  thrpt    5  14477.722 ±   552.461  ops/s
DataReplicationBenchmark.testReplication              5        4096  thrpt    5   9424.252 ±  1622.021  ops/s

fsync enabled
With fsync set to true.

Quite similar to the previous run with fsync disabled.
And still, our file-based log shows a better throughput here.

Why do you measure 1 node? I don't think we've optimized for this, but then again, this use case is (IMO) only academic...

@jabolina looking at the numbers, they look weird....using or not using fsync don't make any difference, for the file log, which means...

fsync is not actually tuned (I've added this https://github.com/jgroups-extras/jgroups-raft/pull/244#discussion_r1461061407 comment for that)
the machine used doesn't make it happen
the bottleneck isn't there

Updated with the comments, also removing the case for a single node, so we can save some time in a case that is not interesting.
@franz1981 with the recent changes to @Fork and fsync as a parameter:
Benchmark                                 (clusterSize)  (dataSize)  (useFsync)   Mode  Cnt      Score     Error  Units
DataReplicationBenchmark.testReplication              3         256       false  thrpt   15  22071.135 ± 591.741  ops/s
DataReplicationBenchmark.testReplication              3         256        true  thrpt   15  21984.261 ± 485.475  ops/s
DataReplicationBenchmark.testReplication              3        1024       false  thrpt   15  21413.893 ± 419.019  ops/s
DataReplicationBenchmark.testReplication              3        1024        true  thrpt   15  21417.166 ± 395.888  ops/s
DataReplicationBenchmark.testReplication              3        4096       false  thrpt   15  20809.648 ± 313.282  ops/s
DataReplicationBenchmark.testReplication              3        4096        true  thrpt   15  20151.781 ± 408.661  ops/s
DataReplicationBenchmark.testReplication              5         256       false  thrpt   15  18794.500 ± 289.010  ops/s
DataReplicationBenchmark.testReplication              5         256        true  thrpt   15  18657.056 ± 268.948  ops/s
DataReplicationBenchmark.testReplication              5        1024       false  thrpt   15  18219.301 ± 250.733  ops/s
DataReplicationBenchmark.testReplication              5        1024        true  thrpt   15  18206.453 ± 289.542  ops/s
DataReplicationBenchmark.testReplication              5        4096       false  thrpt   15  14734.195 ± 139.546  ops/s
DataReplicationBenchmark.testReplication              5        4096        true  thrpt   15  14772.195 ±  67.642  ops/s

At first, I thought it could be the replication was hiding everything, but even in the single node case, there isn't much change. If it is worth it, the box I am running uses a nvme disk. There is a LogJmhBenchmark for the log isolated, which we could expand or add a new one.

In my own tests, I remember tests being orders of magnitude slower with fsync on. But I had an old mac, and perhaps your disk flush to nvme is as fast as a write to memory! :-)

@belaban @jabolina
I think this is due to write caching, see https://askubuntu.com/questions/1309893/how-to-disable-disk-cache-of-nvme-ssd
In production is super fine to let it on, given that costy SSDs in prod usually have persistent caches which allow to flush writes even when the electricity is out, retaining the data till is possible, but for development reasons and performance comparisions, it should be disabled. This will expose the differences between the approaches, which could be perceived in case customer/real users doesn't have such features enabled in production...

With the cache disabled, I had no noticeable difference with and without fsync. :frowning_face:
I run the LogJmhBenchmark, with parameters -plogType="file" -pbaseDir="/home/jab/raft-log-bench" -pbatchSize=1. I made some changes to the output in milliseconds, and the dataSize the same as the new benchmark in this PR (256, 1024, 4096):
Without fsync:
Benchmark                              (baseDir)  (batchSize)  (dataSize)  (logType)  Mode  Cnt  Score   Error  Units
LogJmhBenchmark.append  /home/jab/raft-log-bench            1         256       file  avgt   10  0.003 ± 0.002  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        1024       file  avgt   10  0.009 ± 0.002  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        4096       file  avgt   10  0.041 ± 0.038  ms/op

With fsync:
Benchmark                              (baseDir)  (batchSize)  (dataSize)  (logType)  Mode  Cnt   Score   Error  Units
LogJmhBenchmark.append  /home/jab/raft-log-bench            1         256       file  avgt   10   2.293 ± 0.015  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        1024       file  avgt   10   5.758 ± 2.162  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        4096       file  avgt   10  10.749 ± 0.305  ms/op

Quite a difference. In the benchmark here, the bottleneck might be somewhere else. Does what we have here serve as a baseline for starting work? The worrying part is that it covers too much, and it would be difficult to identify if optimizations are working. :worried:
And just for curiosity, running the LogJmhBenchmark with fsync but with the nvme cache enabled:
Benchmark                              (baseDir)  (batchSize)  (dataSize)  (logType)  Mode  Cnt  Score   Error  Units
LogJmhBenchmark.append  /home/jab/raft-log-bench            1         256       file  avgt   10  1.319 ± 1.062  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        1024       file  avgt   10  4.022 ± 0.161  ms/op
LogJmhBenchmark.append  /home/jab/raft-log-bench            1        4096       file  avgt   10  6.108 ± 0.248  ms/op

I guess this this data point confirms what we've been seeing all alonf, namely that fsync is costly. Interesting to see that nvme improves the results, albeit only slightly!

@jabolina

-plogType="file" -pbaseDir="/home/jab/raft-log-bench"

which directory it was using before?
It's important to always run from a real file-system (not tmpfs based cases, unless we want that)

Argh, that makes sense. I used the default configuration (/tmp), which is tmpfs. For the log one just above, I utilized my home directory, ext4. I do a quick run tomorrow with the replication benchmark pointing to my home folder.

Good catch, @franz1981!! I modified it to point to my home folder. This is running with FileBasedLog.
Benchmark                                 (clusterSize)  (dataSize)  (useFsync)   Mode  Cnt      Score     Error  Units
DataReplicationBenchmark.testReplication              3         256       false  thrpt   15  21775.965 ± 255.249  ops/s
DataReplicationBenchmark.testReplication              3         256        true  thrpt   10    382.109 ± 228.976  ops/s
DataReplicationBenchmark.testReplication              3        1024       false  thrpt   15  21022.973 ± 422.422  ops/s
DataReplicationBenchmark.testReplication              3        1024        true  thrpt   10    229.400 ± 155.637  ops/s
DataReplicationBenchmark.testReplication              3        4096       false  thrpt   15  20298.989 ± 267.740  ops/s
DataReplicationBenchmark.testReplication              3        4096        true  thrpt   10    104.322 ±  49.472  ops/s
DataReplicationBenchmark.testReplication              5         256       false  thrpt   15  18363.763 ± 238.686  ops/s
DataReplicationBenchmark.testReplication              5         256        true  thrpt   15    311.766 ± 147.871  ops/s
DataReplicationBenchmark.testReplication              5        1024       false  thrpt   15  17563.369 ± 148.352  ops/s
DataReplicationBenchmark.testReplication              5        1024        true  thrpt   15    161.147 ±  65.589  ops/s
DataReplicationBenchmark.testReplication              5        4096       false  thrpt   15  14285.087 ± 164.863  ops/s
DataReplicationBenchmark.testReplication              5        4096        true  thrpt   15    105.247 ±  39.331  ops/s

I'll get this one in so we can start working on the follow-ups. In the future, I hope to get something similar to Will's work for ISPN (https://github.com/infinispan/infinispan-ansible-benchmark) to check real deployments.


Fixes #30. Added toolchain automatic platform detection

This should fix issues with detecting the endian helpers.

Yeah I tried adding the system defines; however, they were causing other breaks in emscripten. So, I think I'll need to add EMSCRIPT_ defines for this to work correctly sounds like.

Thanks!


Re-Enable ability to use built in debugger for DS

For #6907

Codecov Report

Merging #8258 into master will decrease coverage by 0.43%.
The diff coverage is 25%.

@@            Coverage Diff             @@
##           master    #8258      +/-   ##
==========================================
- Coverage    58.7%   58.26%   -0.44%
==========================================
  Files         504      504
  Lines       23093    22734     -359
  Branches     3728     3730       +2
==========================================
- Hits        13557    13247     -310
+ Misses       8656     8599      -57
- Partials      880      888       +8

Impacted Files
Coverage Δ

src/client/datascience/jupyter/jupyterDebugger.ts
10.73% <25%> (+0.67%)
:arrow_up:

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-75%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
0% <0%> (-66.67%)
:arrow_down:

...science/jupyter/jupyterKernelPromiseFailedError.ts
0% <0%> (-50%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-50%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

src/client/language/characters.ts
12% <0%> (-18.77%)
:arrow_down:

...cience/jupyter/jupyterDebuggerNotInstalledError.ts
50% <0%> (-10%)
:arrow_down:

src/client/common/platform/pathUtils.ts
66.66% <0%> (-5.56%)
:arrow_down:

src/client/linters/pydocstyle.ts
84.61% <0%> (-5.13%)
:arrow_down:

... and 37 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 6046f83...a1bbabc. Read the comment docs.


Master test open too many files

My local machine has ulimit 256 and when I run make test it starts complaining too many opened files. I assume this partially because we open 64 files in order to parallel hash index. But still 256 should be sufficient to run tests.
P.S. I'm labelling this as a bug for now. Feel free to change if this is expected.

This was a regression in #2857. I overlooked that the InMemFile used for storing strings independently opens the file for writing, so going from one to 256 of them meant it's now opening 256 files. It shouldn't be an issue for them to share a file descriptor.


chore: instead of running the whole pipeline again, only allow drafts when main is green already

Description

Checklist

[ ] New tests and/or benchmarks are included.
[ ] Documentation is changed or added.
[ ] Changelog is updated accordingly.
[ ] I have signed the MongoDB Contributor License Agreement (https://www.mongodb.com/legal/contributor-agreement).

Open Questions

I think its a good idea but there is one thing this might miss, last minute dependency problem creeps (we saw that being quite common in compass repo). Something we should be aware of.

We are using fixed versions, it shouldn't happen right?

Yea but it might happen that our fixed version was identified for a vuln at some point, right? :D

Ah true, this might happen for sure. So what we can do is, whenever we generate the SBOM (we are not doing it yet but it's planned), do it also before releasing and after checking main is green. So we don't need to run the whole suite but we verify that our deps don't have any important CVE.


Changed how log property values are converted in the final output

By using ToString() on the log property values, the final string values end up with double quotes as part of their values. The pull request uses a method that checks the log property value type and returns the correct value.  This code is taken from https://github.com/saleem-mirza/serilog-sinks-azure-analytics.
I have also added simple usage info in the README file.

There is one problem with this PR, DateTime is sent incorrectly and that is causing errors on Fluentd side.


Aspect Ratio

i want change Aspect Ratio run time.

I have the same issue. I have tried to solve it by creating a directive around the existing directive and the image tag and adding the cropWidth and cropHeight properties to my directive.
The cropped image size is correctly rendered. However the bounds of the selectbox are incorrect untill you start resizing. I have editted the example jsbin to show the issue:
http://jsbin.com/girunisace/1
I hope there is an easy fix for this.


Fixes #1254 - Add flag to define Marathon PORT prefix.

Explain/Reference new configuration option here as well: task-environment-vars.md

Also add a changelog entry.

Here goes an updated version.
If you like this, then I'll write something for the changelog and ask Matthias to add it to mv/changelog-0.10.

LGTM. Don't forget the changelog!


[BUG] Since the latest update, the app freezes whenever it tries to render a timeline

Describe the bug
I've tested the plugin (and loved it) 2 days ago and it worked perfectly.
Since the latest update, it freezes the whole app and can't be used.
Steps to Reproduce
I install and enable the plugin -> Everything works.
I render an empty timeline -> it works.
I add one event to be rendered in the timeline -> it freezes the whole application (keyboard, cursor not responding).
Close/Reopen -> the app automatically freezes again.
Workaround
Close the app.
Delete the april's automatic timeline in the plugins folder.
Reopen -> Everything works fine.
I'm on PC - Windows 10

Hey @Didie9 could you provide a .zip of a failing vault for me to have a starting point trying to debug this ?
Thank you for reporting this, looks quite bothersome

I've tried creating a new vault, but can't reproduce the bug.
However, I duplicated my failing vault, deleted all the plugins but yours, kept only the necessary pages to render the timeline and it still fails.
Here's the .zip file: AAT_Debug.zip
Thanks for looking into it!

The issue should be resolved now @Didie9
Lmk if anything goes wrong


Very Small Visualization

When I use Potree Converter my results are extremely small, and I am unable to zoom in close enough to get a look at the results. If I get too close the cloud simply disappears. Does anyone know why this might be happening?

Have you tried the --scale to scale it up?


Add aarch64 opensuse tumbleweed

This merge request is related to the issue #1011 and is aiming at being able to user OpenSuse with the current script approach to package manager detection

Thanks, but please sign the commit for DCO
https://github.com/apps/dco
(run git commit -a -s --amend, and make sure that the Signed-off-by: NAME <EMAIL> line with your real name is included in the commit message)

hello @AkihiroSuda, thank you for the time you're spending on the PR, much appreciated :)

I've updated the two initial commits I made and signed them. It passes DCO now. Does it work for you ?
I've added a comment explaining the chained command in the script, I've also added a detail about why it's done and a link to this PR in case it can be reverted in the future

Thanks, but please use real name

the name I use on github (and for other tech related stuff) comply with the definition of real name of DCO as far as I can see (https://github.com/cncf/foundation/blob/main/dco-guidelines.md: "Your real name is the name you convey to people in the community for them to use to identify you as you")
is this ok for you ?

the name I use on github (and for other tech related stuff) comply with the definition of real name of DCO as far as I can see (https://github.com/cncf/foundation/blob/main/dco-guidelines.md: "Your real name is the name you convey to people in the community for them to use to identify you as you")

Thanks, wasn't aware of that guideline.

is this ok for you ?

Maybe.
Opened https://github.com/cncf/toc/issues/906 for confirmation about "pseudonyms"

Also opened:

https://github.com/cncf/foundation/issues/407


Datastore Key is not returned on runQuery with new entity change

With the new change to Datastore where runQuery returns entities instead of the old nested json object, there seems to be no way to retrieve the key along with the entity.
I'm currently returning a list of 40 entities at a time with no way to save the ID's with the entities. I'm mapping into a GraphQL server where the ID's are used as part of the cursors.
The documentation has no information on this. Is there an option or am I missing something?
Thanks

Sorry about that. It looks like we haven't done a release since we updated the docs. We left behind many examples that were invalidated when we switched from the nested object.
The way to get the key is by using a special property (a Symbol we provide):
var key = entity[datastore.KEY]

Sorry for the confusion, we should have a new release out soon so the docs can be refreshed.
related: #1719, #1724, #1730

Can I ask what the benefit of changing entity.key to entity[datastore.KEY] is? It seems pretty unconventional to me and it breaks a lot of my code.

Does not work, I tried the new way, and you can't get the key back via query.

The key is undefined for me regardless whether I use entity[datastore.KEY] or entity.key. When I did JSON.stringify on my entity, it only showed my data properties. The key was not present at all.
I am using "@google-cloud/datastore": "1.0.0". I am not sure whether I should open a new issue.
datastore.get(userKeys).then((userEntities) => {
  var entity = userEntities[0];
  var key = entity[datastore.KEY]; // undefined
});

Thanks for writing that up. Here are all the ways to use get() and the results they give:
// Callback with a single key
datastore.get(key1, function(err, entity) {
  // entity = { key1's data object }
})

// Callback with multiple keys
datastore.get([key1, key2], function(err, entities) {
  // entities = [
  //   { key1's data object },
  //   { key2's data object }
  // ]
})

// Promise with a single key
datastore.get(key1)
  .then(function(data) {
    var entity = data[0]
    // entity = { key1's data object }
  })

// Promise with multiple keys
datastore.get([key1, key2])
  .then(function(data) {
    var entities = data[0]
    // entities = [
    //   { key1's data object },
    //   { key2's data object }
    // ]
  })

The history
Before we supported callbacks, we wanted get to "make sense". So if you were only looking one thing up, you wouldn't get a pointless array back. We just wanted to give the thing you wanted.
Our callbacks have a consistent signature, where possible:
method(function (err, thingOrThingsYouWanted, apiResponse) {})
Because of that third argument, apiResponse, we had two choices for the signature for promises:
method()
  .then(function(data) {
    // an array:
    data = [ thingOrThingsYouWanted, apiResponse ]

    // an object:
    data = {
      thingOrThingsYouWanted: thingOrThingsYouWanted,
      apiResponse: apiResponse
    }
  })

The array was decided to be the best option. Because of that, datastore.get([key1, key2]) in promise mode ends up with an array inside an array. I'm not sure that we should remove that behavior, because it would be inconsistent from the rest of our API. (See #2167)

Stephen, many thanks for the detailed explanation and sharing about the history. Now I understand why there is an array inside an array for the promise call. I'll comment on #2167.

@mrkevinze You saved my life! I don't even remember how I got to this result, but I am glad I did! I am still trying to understand the mechanics of Google Datastore.

How do I get the keys of the entities if I use a query? I have a function like this
getByFiltersWithLimit( entityName, filters, limit, cursor )
{
let query = datastore.createQuery( entityName ).limit(limit);
filters.map( function( item ){
query.filter( item.param, item.operator, item.value )
});
if (cursor)
{
query = query.start(cursor);
}
return datastore.runQuery(query);
}
getByFiltersWithLimit(...).then(response=>{
var results = response[0];
var key = results[0][datastore.KEY]
})
I tried to get the results key as above. But the resulting key is an object and it doesn't have my datastore key it has something like this
{"id":"4795031705616384","kind":"MyEntity","path":["MyEntity","4795031705616384"]}
Can anyone help me with this?

@melvinmeshach-full greetings!  Would you mind opening a new issue?  It will make finding and answering much easier :)

Sure will open a new one.
On Tue, 9 Apr, 2019, 22:08 Justin Beckwith<EMAIL_ADDRESS>wrote:

@melvinmeshach-full https://github.com/melvinmeshach-full greetings!
Would you mind opening a new issue? It will make finding and answering much
easier :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googleapis/google-cloud-node/issues/1768#issuecomment-481328246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXvWmT9AMSGVjjr0mGXeRv_vg9GkUsW1ks5vfMIYgaJpZM4KoNjL
.

took an hour to find out how to get the key from an entity using this odd syntax. Node.js docs for Datastore are quite frustrating.

4 years later and this issue thread is the best documentation I could find explaining how to access the key from a queried entity result.


[FIX] Replace the base64 raster image in SVG with the vector path

Less weight.
Sharpness of the edges.
Manageability from code.

Bonus: link to the convenient URL-encoder SVG.
Explanation: the actual height of the triangle is 12px.

Very sorry about the wait. Looks good, thank you!


Use DISTGIT_URL env variable

packit/packit#922

Will be merged after *.stg.fedoraproject.org will work (https://fedoraproject.org/wiki/Infrastructure/2020-post-datacenter-move-known-issues#staging)


refactor(api): Add more stub methods to APIv3 MagneticModuleContext

Overview
This is a step towards #9393. It sets the method signatures for Python Protocol API v3's version of MagneticModuleContext.
Changelog
Things are almost entirely unchanged from APIv2. The differences are:

Added strict parameter validation to .engage() to disallow, for example, setting height and offset simultaneously. In APIv2, this is permitted with the undocumented behavior that one is favored over the other.
Removed the .geometry property, which seemed internal and not legitimately usable by protocol authors.
Removed .load_labware_object(). This also seemed internal and not legitimately usable by protocol authors. And it doesn't make sense in a Protocol Engine world, anyway.
Removed .load_labware_by_name(), which has long been deprecated in favor of .load_labware().
Made .status return a backwards-compatible str Enum instead of a literal plain str. This won't affect user code, but it will affect how this interface shows up in the docs later on.

I've also noted these in Confluence.
Review requests
Do all method signatures look good so far? Do we agree with the changes?
Barring any implementation surprises, and setting aside the # todos, I expect these to be final.
Risk assessment
None. No one is using this code yet.

No objections heard from Support or Applications Engineering.


hello dear

I have issues
int layoutId = extras.getInt(ARG_LAYOUT);
i need jest sample activity working without all activity
thank you and have nice day

Just use 'setContentView(R.layout.sample);'

thank you dear
working now


Where to get accessToken/refreshToken?

Where can we get the accessToken/refreshToken?

Great, thanks for the help.


Your account is suspended

Subject: Your account is suspended
Description:
I don't understand
What's happend ?
Results:
Why I can't log in couchers.org !
Backend version: develop-c3dbc14a
Frontend version: develop-c3dbc14a
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:78.0) Gecko/20100101 Firefox/78.0
Page: https://couchers.org/complete-password-reset?token=bdzBnxa-PtDVoW44hSj-xMzPoC7xB3DeevpKLkBnNSw=
User:

per support this is not a bug

Dupe of #5054


Wen picking an asset to send only show tokens that have balance and are not hidden

When a user clicks send they only expect to see tokens with a balance and that they have selected to show in their wallet.
Currently we show much more. Example
This is shown for the "choose asset to send" page

etc.
While only these tokens are selected for displaying in the wallet:

@314159265359879 For the quickest resolution to your issue, we highly recommend using our live chat support, available 24/7. Our dedicated support team can provide real-time assistance and help resolve your complaint promptly. You can access the live chat here: SUPPORT.
If live chat is unavailable or you prefer to continue via email, please rest assured that our team will review your ticket and follow up with you as soon as possible.

I assume we should apply to the swaps flow as well?


Add Kotlin support

Add Kotlin generation like it's done in https://github.com/niebes/js2p-gradle/tree/kotlin

@hannesa2 would you like to create a PR for this feature?

I already did it https://github.com/hannesa2/js2p-gradle/tree/KotlinGenerator but they changed too much

What do you think if we force push or add an additional commit could make this PR mergeable to master without loosing the recent changes?

Here you go https://github.com/eirnym/js2p-gradle/pull/24 it in this repo. That mean, you can change what you want.
Do git push force, but please use this git push --force-with-lease  to avoid unwanted overwrites

Now plugin is written in Kotlin and we can add Kotlin generator as well.

I suppose, I misunderstand this issue.
Kotlin projects are now fully supported. For kotlin generator I'll open a new issue


"Change all occurrences" is case-insensitive (selects all occurrences despite of different cases)

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.85.1
OS Version: Windows 10 Pro 22H2

Steps to Reproduce:

Right click on a piece of text -- whether it's a variable or plain text and select "Change All Occurrences   Ctrl+F2" and it will select all the occurrences even if they have different casing. So, for example, in my Go code, I have a variable named website and in my struct, I have Website (with an uppercase 'W'), it selects all of them and I only want to select the lowercase website.

Example code where it causes problems:
func AddToJSON(website, email, password string) string {

	// Convert input args to UserData struct
	data := UserData{
		Website:  strings.ToLower(website),
		Email:    email,
		Password: password,
	}

	spacesRegex := `^\s+$`
	spacesReg := regexp.MustCompile(spacesRegex)

	if website == "" ||
		spacesReg.MatchString(website) {
		return "Fill all the fields"
	}
}

On the Find widget (Ctrl+F) have you tried selecting the Match Case button?

It worked. I didn't know it was dependent on the find widget. Thanks!


Added missing import of new auth email pod

The import of the new FirebaseUI/Email pod was missing for the sample code to work properly.

I signed it.

Am 08.02.2019 um 13:53 schrieb googlebot<EMAIL_ADDRESS>Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.
What to do if you already signed the CLA
Individual signers
• It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.
Corporate signers
• Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
• The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
• The email used to register you as an authorized contributor must also be attached to your GitHub account.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks! I'll assume googlebot is just being slow today.


Adding new data types

I've been working on a fork of this repo to add new data types for:

Generic Sensor
Voltage
Current
Frequency
Percentage
Altitude
Power
Distance
Energy
Direction
Switch

I have also added a unit test suite based on AUnit and a backwards compatible javascript decoder for TTN or NodeRED.
Everything is in the forked repo: https://github.com/xoseperez/CayenneLPP
The problem is that the code base is very different, including some files moved to subfolders to suit PlatformIO. The class itself is backwards compatible with this repo thou. My question is: should I keep it as a separate repo or would you be willing to accept a PR with the changes?

Hi @xoseperez
Send your PR please, me and Wero we will review and add to this repository
Thanks for your work in espurna :D

Great. See PR #7 .
It includes data types suggested by @gmag11 in PR #4, I hope he doesn't mind.

Thanks @xoseperez merge

Great! Thank you.

I've started using this library and was pulling my hair why no data was showing up in Cayenne... turns out it doesn't like the data type 74 (from addVoltage()). Now i don't know the actual purpose of this library, but it should either be compatible with Cayenne, or mention somewhere which data types can't be used?

Hi @jangrewe the README mention that detail, we support most of the types specified by OMA SpecWorks, formerly IPSO

Well, for somebody just reading that it sounds like "we've added more stuff than anybody else. and we added a decoder".
May i suggest adding something explicit like "These additional data types are not supported by myDevices Cayenne."? 🙂

You can also ping the people at Cayenne and ask them to add these data types to their product :smile:

@jangrewe I have added the text 😀