HDFS-17514: RBF: Routers should unset cached stateID when namenode does not set stateID in RPC response header.

HDFS-17514
Description of PR
When a namenode that had "dfs.namenode.state.context.enabled" set to true is restarted with the configuration set to false, routers will keep using a previously cached state ID.
Without RBF

clients that fetched the old stateID could have stale reads even after msyncing
new clients will go to the active.

With RBF

client that fetched the old stateID could have stale reads like above.
New clients will also fetch the stale stateID and potentially have stale reads

New clients that are created after the restart should not fetch the stale state ID.
How was this patch tested?
New unit test
Unit test fails with the patch is PoolAlignmentContext in the second commit.
Unit test pass with the patch.
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 21s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
33m 10s

trunk passed

+1 :green_heart:
compile
0m 26s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
0m 24s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
0m 21s

trunk passed

+1 :green_heart:
mvnsite
0m 30s

trunk passed

+1 :green_heart:
javadoc
0m 32s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 22s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 51s

trunk passed

+1 :green_heart:
shadedclient
21m  8s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 18s

the patch passed

+1 :green_heart:
compile
0m 18s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
0m 18s

the patch passed

+1 :green_heart:
compile
0m 17s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
0m 17s

the patch passed

-1 :x:
blanks
0m  0s
/blanks-eol.txt
The patch has 8 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply

-0 :warning:
checkstyle
0m  9s
/results-checkstyle-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-project/hadoop-hdfs-rbf: The patch generated 4 new + 0 unchanged - 0 fixed = 4 total (was 0)

+1 :green_heart:
mvnsite
0m 19s

the patch passed

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 15s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 46s

the patch passed

+1 :green_heart:
shadedclient
21m  3s

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

_ Other Tests _

-1 :x:
unit
26m 10s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 23s

The patch does not generate ASF License warnings.

111m 45s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.federation.router.TestNoNamenodesAvailableLongTime

Subsystem
Report/Notes

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

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

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

uname
Linux 26a45d9cedb4 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f6c3404afde7f27d0a323803433533269e2e60bb

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

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

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

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

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

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 19s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
34m  9s

trunk passed

+1 :green_heart:
compile
0m 22s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
0m 20s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
0m 18s

trunk passed

+1 :green_heart:
mvnsite
0m 24s

trunk passed

+1 :green_heart:
javadoc
0m 25s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 18s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 50s

trunk passed

+1 :green_heart:
shadedclient
22m  4s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 22s

the patch passed

+1 :green_heart:
compile
0m 21s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
0m 21s

the patch passed

+1 :green_heart:
compile
0m 16s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
0m 16s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 13s
/results-checkstyle-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-project/hadoop-hdfs-rbf: The patch generated 5 new + 0 unchanged - 0 fixed = 5 total (was 0)

+1 :green_heart:
mvnsite
0m 22s

the patch passed

+1 :green_heart:
javadoc
0m 16s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 14s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 50s

the patch passed

+1 :green_heart:
shadedclient
23m 22s

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

_ Other Tests _

-1 :x:
unit
26m 57s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 27s

The patch does not generate ASF License warnings.

116m 33s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.federation.router.TestNoNamenodesAvailableLongTime

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/2/artifact/out/Dockerfile

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

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

uname
Linux b8a9ef06ba87 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / e4e3c5503a856c47beee2fb4fc93c0c35abd2011

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/2/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 19s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 28s

trunk passed

+1 :green_heart:
compile
0m 25s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
0m 22s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
0m 20s

trunk passed

+1 :green_heart:
mvnsite
0m 29s

trunk passed

+1 :green_heart:
javadoc
0m 30s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 21s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 50s

trunk passed

+1 :green_heart:
shadedclient
20m 31s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 21s

the patch passed

+1 :green_heart:
compile
0m 20s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
0m 20s

the patch passed

+1 :green_heart:
compile
0m 17s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
0m 17s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 12s

the patch passed

+1 :green_heart:
mvnsite
0m 19s

the patch passed

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 51s

the patch passed

+1 :green_heart:
shadedclient
19m 50s

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

_ Other Tests _

+1 :green_heart:
unit
26m 55s

hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 26s

The patch does not generate ASF License warnings.

110m 36s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/3/artifact/out/Dockerfile

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

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

uname
Linux fa8f140fb26b 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / c2452922760c6ef50b574a5f4a7ec523445da702

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/3/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/3/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
85m 42s

trunk passed

+1 :green_heart:
compile
4m 46s

trunk passed

+1 :green_heart:
checkstyle
4m 23s

trunk passed

+1 :green_heart:
mvnsite
4m 51s

trunk passed

+1 :green_heart:
javadoc
4m 29s

trunk passed

+1 :green_heart:
shadedclient
141m 10s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 47s

the patch passed

+1 :green_heart:
compile
2m 17s

the patch passed

+1 :green_heart:
javac
2m 17s

the patch passed

+1 :green_heart:
blanks
0m 00s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 59s

the patch passed

+1 :green_heart:
mvnsite
2m 24s

the patch passed

+1 :green_heart:
javadoc
2m 07s

the patch passed

+1 :green_heart:
shadedclient
148m 54s

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

_ Other Tests _

+1 :green_heart:
asflicense
5m 16s

The patch does not generate ASF License warnings.

399m 15s

Subsystem
Report/Notes

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

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

uname
MINGW64_NT-10.0-17763 505bedc9962d 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / c2452922760c6ef50b574a5f4a7ec523445da702

Default Java
Azul Systems, Inc.-1.8.0_332-b09

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

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

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

versions
git=2.44.0.windows.1

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
87m 50s

trunk passed

+1 :green_heart:
compile
4m 53s

trunk passed

+1 :green_heart:
checkstyle
4m 27s

trunk passed

+1 :green_heart:
mvnsite
4m 55s

trunk passed

+1 :green_heart:
javadoc
4m 44s

trunk passed

+1 :green_heart:
shadedclient
141m 31s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 47s

the patch passed

+1 :green_heart:
compile
2m 19s

the patch passed

+1 :green_heart:
javac
2m 19s

the patch passed

+1 :green_heart:
blanks
0m 01s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m 01s

the patch passed

+1 :green_heart:
mvnsite
2m 25s

the patch passed

+1 :green_heart:
javadoc
2m 07s

the patch passed

+1 :green_heart:
shadedclient
152m 26s

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

_ Other Tests _

+1 :green_heart:
asflicense
5m 47s

The patch does not generate ASF License warnings.

405m 55s

Subsystem
Report/Notes

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

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

uname
MINGW64_NT-10.0-17763 faac0eb4a8ee 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / c2452922760c6ef50b574a5f4a7ec523445da702

Default Java
Azul Systems, Inc.-1.8.0_332-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/2/testReport/

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/2/console

versions
git=2.44.0.windows.1

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
87m 00s

trunk passed

+1 :green_heart:
compile
4m 58s

trunk passed

+1 :green_heart:
checkstyle
4m 26s

trunk passed

+1 :green_heart:
mvnsite
4m 53s

trunk passed

+1 :green_heart:
javadoc
4m 32s

trunk passed

+1 :green_heart:
shadedclient
139m 17s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 54s

the patch passed

+1 :green_heart:
compile
2m 19s

the patch passed

+1 :green_heart:
javac
2m 19s

the patch passed

+1 :green_heart:
blanks
0m 00s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m 16s

the patch passed

+1 :green_heart:
mvnsite
2m 33s

the patch passed

+1 :green_heart:
javadoc
2m 08s

the patch passed

+1 :green_heart:
shadedclient
147m 29s

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

_ Other Tests _

+1 :green_heart:
asflicense
5m 14s

The patch does not generate ASF License warnings.

397m 16s

Subsystem
Report/Notes

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

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

uname
MINGW64_NT-10.0-17763 6520897aafc9 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / c2452922760c6ef50b574a5f4a7ec523445da702

Default Java
Azul Systems, Inc.-1.8.0_332-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/4/testReport/

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/4/console

versions
git=2.44.0.windows.1

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

This message was automatically generated.

@simbadzina Should we also add a test case to TestPoolAlignmentContext.java to ensure the sharedGlobalStateId moves under the conditions we expect it to?

Good call. Let me add that.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 19s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
33m 24s

trunk passed

+1 :green_heart:
compile
0m 25s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
compile
0m 20s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
checkstyle
0m 18s

trunk passed

+1 :green_heart:
mvnsite
0m 28s

trunk passed

+1 :green_heart:
javadoc
0m 30s

trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 20s

trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 54s

trunk passed

+1 :green_heart:
shadedclient
20m  9s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 18s

the patch passed

+1 :green_heart:
compile
0m 18s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javac
0m 18s

the patch passed

+1 :green_heart:
compile
0m 16s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
javac
0m 16s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 12s

the patch passed

+1 :green_heart:
mvnsite
0m 20s

the patch passed

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1

+1 :green_heart:
javadoc
0m 16s

the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

+1 :green_heart:
spotbugs
0m 50s

the patch passed

+1 :green_heart:
shadedclient
20m 23s

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

_ Other Tests _

-1 :x:
unit
26m 30s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs-rbf.txt
hadoop-hdfs-rbf in the patch passed.

+1 :green_heart:
asflicense
0m 23s

The patch does not generate ASF License warnings.

110m 39s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.federation.router.security.token.TestSQLDelegationTokenSecretManagerImpl

hadoop.hdfs.server.federation.store.driver.TestStateStoreMySQL

Subsystem
Report/Notes

Docker
ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/5/artifact/out/Dockerfile

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

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

uname
Linux 01d54fcf6746 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 14ab9f7e6a8d3d3680c496a44c1ec5635596770b

Default Java
Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/5/testReport/

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

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6804/5/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
93m 47s

trunk passed

+1 :green_heart:
compile
5m 18s

trunk passed

+1 :green_heart:
checkstyle
4m 53s

trunk passed

+1 :green_heart:
mvnsite
5m 36s

trunk passed

+1 :green_heart:
javadoc
4m 55s

trunk passed

+1 :green_heart:
shadedclient
151m 19s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 03s

the patch passed

+1 :green_heart:
compile
2m 36s

the patch passed

+1 :green_heart:
javac
2m 36s

the patch passed

+1 :green_heart:
blanks
0m 01s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m 18s

the patch passed

+1 :green_heart:
mvnsite
2m 40s

the patch passed

+1 :green_heart:
javadoc
2m 19s

the patch passed

+1 :green_heart:
shadedclient
162m 22s

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

_ Other Tests _

+1 :green_heart:
asflicense
5m 40s

The patch does not generate ASF License warnings.

431m 44s

Subsystem
Report/Notes

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

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

uname
MINGW64_NT-10.0-17763 14da4b14ae4a 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / afb800fd9c78343d772f45c77a3430409b515034

Default Java
Azul Systems, Inc.-1.8.0_332-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/5/testReport/

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/5/console

versions
git=2.45.0.windows.1

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

_ Prechecks _

+1 :green_heart:
dupname
0m 00s

No case conflicting files found.

+0 :ok:
spotbugs
0m 01s

spotbugs executables are not available.

+0 :ok:
codespell
0m 01s

codespell was not available.

+0 :ok:
detsecrets
0m 01s

detect-secrets was not available.

+1 :green_heart:
@author
0m 00s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m 00s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
95m 50s

trunk passed

+1 :green_heart:
compile
5m 42s

trunk passed

+1 :green_heart:
checkstyle
4m 53s

trunk passed

+1 :green_heart:
mvnsite
5m 33s

trunk passed

+1 :green_heart:
javadoc
5m 08s

trunk passed

+1 :green_heart:
shadedclient
157m 21s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 02s

the patch passed

+1 :green_heart:
compile
2m 30s

the patch passed

+1 :green_heart:
javac
2m 30s

the patch passed

+1 :green_heart:
blanks
0m 00s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
2m 13s

the patch passed

+1 :green_heart:
mvnsite
2m 44s

the patch passed

+1 :green_heart:
javadoc
2m 17s

the patch passed

+1 :green_heart:
shadedclient
163m 47s

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

_ Other Tests _

+1 :green_heart:
asflicense
5m 47s

The patch does not generate ASF License warnings.

441m 52s

Subsystem
Report/Notes

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

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

uname
MINGW64_NT-10.0-17763 3998dbde031f 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys

Build tool
maven

Personality
/c/hadoop/dev-support/bin/hadoop.sh

git revision
trunk / 14ab9f7e6a8d3d3680c496a44c1ec5635596770b

Default Java
Azul Systems, Inc.-1.8.0_332-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/7/testReport/

modules
C: hadoop-hdfs-project/hadoop-hdfs-rbf U: hadoop-hdfs-project/hadoop-hdfs-rbf

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6804/7/console

versions
git=2.45.0.windows.1

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

This message was automatically generated.

Failing tests in continuous-integration unrelated to my changes
 Failed junit tests
|  hadoop.hdfs.server.federation.router.security.token.TestSQLDelegationTokenSecretManagerImpl
|  hadoop.hdfs.server.federation.store.driver.TestStateStoreMySQL


fix scrollbars overlapping and vertical scrollbar top position

When vertical scrollbar has top margin there is a gap in top right corner of table. Moving vertical scrollbar top edge to top of table and vertical scrollbar bottom edge above horizontal scroll bar makes UI better looking.

@rajkovukovic how come the scrollbar has "top margin"? Is this something you're seeing because you modified the y-scrollbar container's css margin-top value?
I don't plan on making the scrollbar overlap the header - the problem can probably be solved another way.

I have not explained well. You may see it on this image
There is gap on the right of sticky-table-header that is visible when you scroll table all the way right (using trackpad or mouse, not dragging horizontal scrollbar handle). If you scroll by dragging scrollbar handle all the way to the right, you wont be able to see content beneath vertical scrollbar.
Also, scrollbars overlap in bottom right corner, maybe it is good idea to make horizontal scroll bar narrower or vertical scroll bar shorter in order to avoid this.
Browser tested: latest versions of Chrome, Firefox and Safari on MacOS X 10.13.4 and latest Chrome on Windows 10.

@rajkovukovic ah - yeah that makes sense. I'll give your PR a try and approve if I can't come up with something better.
Thanks.

thanks @maxhudson :)
I found one more bug. Width of div inside of x-scrollbar should be increased by vertical scrollbar width to make possible scrolling all the way to the right while dragging horizontal scroll bar handle.
I will add one more commit to my fork to address this issue. Please don't approve my PR before fixing this.

resolved in v3.0.1


Add typography button

Added typography button (no flags set and doesn't have interactivity).
Removed showOutline method.

Add interactivity to typography button (show input box on click).
Add check for set background button being enabled. If it is and typography button is pressed, disable the button's flag and vice versa.

Add option to change the text colour within the typography button.


Update libsqlite3-sys to 0.25.1

This is technically a breaking change because we expose the sqlite3 type in two places:

https://docs.rs/sqlx/latest/sqlx/sqlite/struct.SqliteConnection.html#method.as_raw_handle
https://docs.rs/sqlx/latest/sqlx/sqlite/struct.LockedSqliteHandle.html#method.as_raw_handle

In 0.7.0 I intend to make it clearer in the documentation that the pointer type is semver-exempt, and that we reserve the right to upgrade libsqlite3-sys as needed, but I'm probably gonna hold off on this until then because we've gotten complaints before about upgrading it without warning.


Create new config to allow for consistent generated output ordering

When running the generator two times in a row, the output is inconsistently sorted and creates a large git diff. When I add a new query for example, I'd like it to be easier to review the new generated types and functions before merging.
Describe the solution you'd like
A new config flag that allows for sorting the output. This might mean the generator will take a few more seconds to run, but since this is not happening at build time that works for me.
Describe alternatives you've considered
We've considered running the generator during the build and adding the generated file to .gitignore, but since the file is infrequently changed we'd prefer to manually review the diff during PRs.

This would be great! The output reordering every time I change my schema is bugging me a lot.
@dotansimha What do you think about adding sort config option for typescript plugin and using lexicographicSortSchema in the same way as you did for schema-ast in #5034?

I'm totally fine with that, but I think it should be in graphlq-tools loaders, and not in codegen. Because we need to do that after loading the schema. Codegen should offer flexibility to disable that feature (for large schemas).

Do you mean that schema argument received by a plugin would be already sorted? Or in other words, the sort option would be global for the whole codegen, it wouldn't be on a plugin level? It would probably work for my use case, however, I'm not sure what the benefit would be. It seems to be limiting. Let's say I would have a plugin that requires schema in the original order (for whatever it's doing) and I wanted the output of another plugin to be ordered, then I wouldn't be able to use them together (if I got a correct idea how it would work).
But I'm now familiar with graphql-tools and how its loaders work, so I'm afraid I can't help with it. I came back here for another reason.
I have patched @graphl-codegen/typescript locally in my project to use lexicographicSortSchema() and I have discovered that the function is dependant on system locale and can produce different order on different machines: https://github.com/graphql/graphql-js/issues/2869
If my proposal to add support for locales to lexicographicSortSchema() gets accepted and is implemented in graphql then would be good if the sort option here (and graphql-tools) was boolean | string. true would enable sorting with the default locale and a string value would enable sorting with that value as locale.

@ardatan please take a look, should be simple to add to graphql-tools.

We could also store a hash of the input in a comment in the generated file and use that to skip regenerating the schema if nothing changed?

We could also store a hash of the input in a comment in the generated file and use that to skip regenerating the schema if nothing changed?

Not sure, since we support many forms of loading, so it might cause issues in other areas (loading from git / url / external service).

Any update on this? I would love to have consistent generated output files. I believe it is because when querying the schema it is returned in an object, and that object is not always sorted in the same way, so this generation script bases the output on whatever the order of that object was. There should be an option (or even default) to order this object to produce the same output every time.
Maybe there are some parts running asynchronously that return in the order they complete and write to file on order of completion which may vary. If so, then an option to run those parts synchronously would also be helpful. Creating some of my own generation scripts based off from GraphQL introspection and have come across this in my own code.

Any update on this? I would love to have consistent generated output files. I believe it is because when querying the schema it is returned in an object, and that object is not always sorted in the same way, so this generation script bases the output on whatever the order of that object was. There should be an option (or even default) to order this object to produce the same output every time.
Maybe there are some parts running asynchronously that return in the order they complete and write to file on order of completion which may vary. If so, then an option to run those parts synchronously would also be helpful. Creating some of my own generation scripts based off from GraphQL introspection and have come across this in my own code.

@amaster507 I don't think relying on object's key order is a good idea in JavaScript but I am not sure about other languages. Even if we decide to have this feature, this will need a considerably big refactor on our loaders, schema mergers and visitor implementations. If anyone wants to do it, we'd like to accept PRs or recommendations at least.
To me, generated files shouldn't be part of git repo and ignored using .gitignore to prevent any diffs since the functionality is same independently from the order of the content.

@amaster507 I don't think relying on object's key order is a good idea in JavaScript but I am not sure about other languages. Even if we decide to have this feature, this will need a considerably big refactor on our loaders, schema mergers and visitor implementations. If anyone wants to do it, we'd like to accept PRs or recommendations at least.
To me, generated files shouldn't be part of git repo and ignored using .gitignore to prevent any diffs since the functionality is same independently from the order of the content.

@ardatan, in my example, I need to order my object parameters, and wrote a script to order by the name of the child object. Again, I don't know the inner workings of this script, but I understand some of the complexity and the issue at hand of implementing this.

To me, generated files shouldn't be part of git repo and ignored using .gitignore to prevent any diffs since the functionality is same independently from the order of the content.

I guess this just varies on the use case. In my projects using graphql-codegen so far, I am generating on push to git if file changes. I guess it could be part of install/build/start script, but doing it on push ensures that the files that I have locally generated match identically to the files pushed to the server for the types/hooks/queries.

@ardatan, in my example, I need to order my object parameters, and wrote a script to order by the name of the child object. Again, I don't know the inner workings of this script, but I understand some of the complexity and the issue at hand of implementing this.

To me, generated files shouldn't be part of git repo and ignored using .gitignore to prevent any diffs since the functionality is same independently from the order of the content.

I guess this just varies on the use case. In my projects using graphql-codegen so far, I am generating on push to git if file changes. I guess it could be part of install/build/start script, but doing it on push ensures that the files that I have locally generated match identically to the files pushed to the server for the types/hooks/queries.

I could use this in my project as well. My API is out of my control, and it returns the types and fields in different orders in response to the introspection query. I want my generated files in version control, and it would be nice to not have unnecessary changes on every run.
For what it's worth, when I've used graphql-code-generator in other projects, it does provided consistent output between runs. I think it's just when the introspection API returns inconsistent results that the generated output is inconsistent.

This should be fixed in the latest release with sort: true option! Feel free to create an issue if it still persists!

Thanks a lot, @ardatan!

Guessing it's https://github.com/dotansimha/graphql-code-generator/pull/6625 ?

https://github.com/dotansimha/graphql-code-generator/releases/tag/%40graphql-codegen%2Fcli%402.2.0


Undefined variable raw_input.

The variable raw_input on this link doesn't exist.
get_input = input
if sys.version_info[:2] <= (2, 7):
    get_input = raw_input
    overwrite = get_input('[WARNING] %s already exists - overwrite? '
                          '[y/n]' % (filepath))

And also in here.

raw_input was renamed to input in python3. The lines you mention are specifically only using raw_input for python < 2.7, in which it should be available.
What version of python are you using ? Could you post a full traceback of the error you're seeing ?

I'm using python3. I saw the error when I opened it on my editor with flake8 linter along with line too long errors.
Here's the error message.
.../keras/keras/models.py|765 col 29 error| undefined name 'raw_input' [F821]

Then I think it's a false positive from flake8 being unable to figure out that this is for python < 2.7.


PEP723 Support

PEP723 is a direct competitor to PEP722.
Based on online discussions it seems like there might be more preference for it over PEP722.
Implementing this for python <3.11 is tricky since I don't want to expand viv to more than one file or add a third-party dependency.
I see two options:

use a zipapp with tomli
embed a fully vendored albeit slightly modified tomli within viv.py

I've implemented the second option in the pep723 branch.
 I'll likely remove PEP722 support in favor of supporting PEP723.

Consensus is getting closer on a pep723 syntax.
Something like:
# /// script
# requires-python = ">=3.12"
# dependencies = ["httpx"]
#
# [tool.magic]
# style = "interesting"
#
# [tool.linter]
# strict = true
# ///

Current implementation in pep723 branch should be updated prior to official release and subsequent deprecation of pep722 syntax.

Released in v2024.1004


Add badge icon next to tabs in repo view

Similar to desktop UI, I think it'd be nice to know how many open issues/prs/projects there are!
Same could go for notifications (how many unread)

Oh cool, hadn't thought of this. Absolutely!

Looks great!, but re-opening to address adding badges to issues/pull requests like desktop 😄

@Sherlouk lets track that in another issue. Trying to keep each issue focused.
Sent with GitHawk


Generate schema.sql from models.yml for relational database

Please follow https://github.com/OpenSlides/OpenSlides/wiki/Development-organization#creating-issues--pull-requests


Followers/Following links not working on desktop client

Hi folks,
the "Following" link under my profile picture is not working, seems like it switches to "Followers" instead of "Following". When I click on "Followers" and "Following" several times, the "Back" link doesn't seem to work either, but I think it's related to the wrong behaviour of the "Following" link.

Platform Information:
OS:        linux
OS vers:   Linux 4.4.0-53-generic x86_64-Ubuntu 16.04.1 LTS
Runtime:   go1.7.1
Arch:      amd64
Client:
version:   1.0.18-20161220170039+7435b49
Desktop app:
status:    running
version:   1.0.18-20161220170039+7435b49

Clicking on the Followers or Following links does nothing in my client.

[~]$ rpm -qi keybase
Name        : keybase
Version     : <IP_ADDRESS>61220170039.7435b49
Release     : 1
Architecture: x86_64
Install Date: Wed 21 Dec 2016 05:36:41 PM EST
Group       : Unspecified
Size        : 212521019
License     : BSD
Signature   : RSA/SHA1, Tue 20 Dec 2016 12:12:06 PM EST, Key ID 47484e50656d16c7
Source RPM  : keybase-<IP_ADDRESS>61220170039.7435b49-1.src.rpm
Build Date  : Tue 20 Dec 2016 12:11:41 PM EST
Build Host  : 0b56eb35b4d1
Relocations : (not relocatable)
Summary     : Keybase command line client
Description :
Keybase command line client

[~]$ keybase version
Client:  1.0.18-20161220170039+7435b49
Service: 1.0.18-20161220170039+7435b49

The issue still exists in latest version
 $ keybase version
 Client:  1.0.18-20170106182907+0e09285
 Service: 1.0.18-20170106182907+0e09285

Cc @cjb
On Mon, Jan 9, 2017 at 3:33 AM EmPeWe<EMAIL_ADDRESS>wrote:

The issue still exists in latest version
$ keybase version
Client:  1.0.18-20170106182907+0e09285
Service: 1.0.18-20170106182907+0e09285
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/5180#issuecomment-271231498,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_2g2TD9l5Dew1Ghkh2ztONY0q7Ntks5rQfC-gaJpZM4LS-pB
.


[CARBONDATA-4232] Add missing doc change for secondary index.

Why is this PR needed?
Documentation changes were not handled in PR 4116
What changes were proposed in this PR?
Added missing documentation.
Does this PR introduce any user interface change?

No

Is any new testcase added?

No

retest this please.

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5626/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/3883/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/30/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5629/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/3886/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/33/

retest this please

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/3908/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5651/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/55/

retest this please.

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/3916/

retest this please

LGTM

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5662/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/66/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/3918/

LGTM


Add environment in configuration

Be able to add special configuration for environment (dev, test, QA, prod)
AddEnvironment("name", conf => conf.With...)
and UseEnvironment() on builder or just get it from Arguments

After thinking about that, decided to implement :
//to define switch actions
AddConfigurationSwitch(string name, switch =>
    .AddSwitch(string valueName, configuration => ...)
    .AddSwitch(string valueName, configuration => ...)
)

//to define with value to use for a switch
Configure()
    .UseConfigurationSwitch(string name, string valueName)

Will provide more flexibility than just Environments to allow to add multiple switch if needed and a switch Environment can still be created

Configuration defined with switch will be merged on top level root configuration and therefore, can be overriden by platforms/targets/applications if needed


[Add Category Page] No error message when creating new Category with empty 'Name' field

Environment: Google Chrome 118.0.5993.118 (Official build) (64-bit)
Reproducible: always
Build found:
Preconditions

Site is opened in browser: https://zero-waste-staging.onrender.com/uk

User is logged in as Administrator

'Categories' page is opened

Steps to reproduce

Click on 'Add category' button
Leave 'Name' field empty
Fill in 'Priority' field with valid data: "5"
Click on 'Create' button

Actual result
Tooltip appears

Expected result
Error message appears
User story and test case links
"User story #427
Labels to be added
"Bug", Priority ("Low"), Severity ("Low"), Type ("UI")

This issue was added to issue 607
https://github.com/ita-social-projects/ZeroWaste/issues/607

Related issues
https://github.com/ita-social-projects/ZeroWaste/issues/641
https://github.com/ita-social-projects/ZeroWaste/issues/642
https://github.com/ita-social-projects/ZeroWaste/issues/608


Location of note is to the right of screen centre

When I add a note, it is created to the right of where the screen is currently centred. This isn't a problem on a monitor, but on a mobile phone it leads to panning the screen over a could times then dragging and dropping the note back...which can be quite a pain on a small device. If the map is zoomed out then the distance is bigger.
Is it intentional to create the note away from centre?...or maybe the centre-point is not being returned to the function?

I think you should be able to drag the note - though not sure how it works on mobile. Even if true, perhaps UX can be improved somewhat.

Well yes.....I can do pan, pan, pan, select, drag, pan, drag, drop on a tiny screen, with my clumsy fingers, whilst in the middle of the street....but that sort of negates its usefulness as an outdoor note maker :)  I've been using it because Vespucci can be a bit too much control for a simple "remember to update the name of this shop when you get home" use case.

Hi @jnicho02. Is this an iD editor issue or a website issue? If the later then this isn't the right place to post. There is another GitHub repo for the main site.
As for adding Notes via mobile you can try an app. Street Complete or OSM Contributor both allow this. I'm sure other apps will too.

OsmAnd can add or close notes as well.

Bah, sorry, Rob is right! I conflated iD with all editing on the website. Will re-raise elsewhere


All Orient DB 2.1.15 threads are locked up for long periods of time

java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.tryLock(long, TimeUnit) ReentrantReadWriteLock.java:871
com.orientechnologies.common.concur.resource.OSharedResourceAdaptive.acquireSharedLock() OSharedResourceAdaptive.java:142
com.orientechnologies.common.concur.resource.OSharedResourceAdaptiveExternal.acquireSharedLock() OSharedResourceAdaptiveExternal.java:44
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OCluster, ORecordId) OAbstractPaginatedStorage.java:1748
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(ORecordId, String, boolean, ORecordCallback) OAbstractPaginatedStorage.java:780
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(OStorage, ORecordId, String, boolean, ORecordVersion) ODatabaseDocumentTx.java:3092
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ORecordId, ORecord, ORecordVersion, String, boolean, boolean, boolean, OStorage$LOCKING_STRATEGY, ODatabaseDocumentTx$RecordReader) ODatabaseDocumentTx.java:1820
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(ORID, ORecord, String, boolean, boolean, boolean, OStorage$LOCKING_STRATEGY) OTransactionOptimistic.java:243
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(ORID, ORecord, String, boolean, boolean, OStorage$LOCKING_STRATEGY) OTransactionOptimistic.java:217
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(ORID, ORecord, String, boolean) OTransactionOptimistic.java:347
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ORID) ODatabaseDocumentTx.java:1564
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ORID) ODatabaseDocumentTx.java:122
com.orientechnologies.orient.core.id.ORecordId.getRecord() ORecordId.java:324
com.tinkerpop.blueprints.impls.orient.OrientElementIterator.next() OrientElementIterator.java:62
com.tinkerpop.blueprints.impls.orient.OrientElementIterator.next() OrientElementIterator.java:35
com.stimulus.archiva.database.blueprints.BluePrintDatabase.f(Database$ItemType, Database$IndexedProperty, String) MailArchiva:383
com.stimulus.archiva.database.blueprints.BluePrintDatabase.d(Database$ItemType, String) MailArchiva:367
com.stimulus.archiva.database.blueprints.BluePrintDatabase.c(Database$ItemType, String) MailArchiva:594

@jamieb22 you have already created the similar issue, what is a difference with this one ?

@jamieb22 well I see what is difference ))

Sorry It must be a duplicate issue. You can close it. Sorry for bother.
On 2016/05/12 3:35 PM, Andrey Lomakin wrote:

@jamieb22 https://github.com/jamieb22 you have already created the
similar issue, what is a difference with this one ?

@jamieb22 no, that may be different

@jamieb22 what is version do you use ?

@jamieb22 sorry for misunderstanding we will reach you soon for details.

The version in question is 2.1.15. I have just upgraded to 2.1.16 in the
hope that it will resolve.
There were eight long running threads, spending most their time locked
up for days in the method in question.
On 2016/05/12 3:39 PM, Andrey Lomakin wrote:

@jamieb22 https://github.com/jamieb22 what is version do you use ?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/6126#issuecomment-218759964

@jamieb22 could you send full thread dump as gist ?

Sorry, it was on a production server. I've already upgraded the server,
deleted the logs and restarted the server.
On 2016/05/12 3:49 PM, Andrey Lomakin wrote:

@jamieb22 https://github.com/jamieb22 could you send full thread
dump as gist ?
—

let's wait for new one if happens, could you send full thread dump ?

Sure...I thought this dump should be enough. It has line numbers and
everything. What about is are you missing?
On 2016/05/12 3:51 PM, Andrey Lomakin wrote:

let's wait for new one if happens, could you send full thread dump ?

@jamieb22 that is only one thread I need full thread picture.
Or even better small yourkit snapshot for last 2-3 minutes.

I'll see what I can do. I noticed you marked as performance issue. This
seemed like a bug to me, as the threads were completely jammed.
On 2016/05/12 3:56 PM, Andrey Lomakin wrote:

@jamieb22 https://github.com/jamieb22 that is only one thread I need
full thread picture.
Or even better small yourkit snapshot for last 2-3 minutes.

@jamieb22 If it will be confirmed as deadlock I will change the label. We need to find the root cause to decide what type of problem it is.

Hi @jamieb22 any updates ?

Close it as duplication


[MM-20156] Added '99+' message badge for Windows when over 99 mentions are on the badge

Please provide the following information:
Summary
When a user has over 99 mentions, the text expands too large to fit the badge, creating a poor UX. This PR forces that over 99 mentions will show as "99+".
Issue link
https://mattermost.atlassian.net/browse/MM-20156

@devinbinnie can you attach a screenshot showing it with 99+?

@devinbinnie can you attach a screenshot showing it with 99+?

Here you go @esethna


No Viewport component installed

Hi, should there be a 'Viewport' component? It is used in the example code but not in the install. I'm not using Typescript at the moment so maybe that is my problem
Thank you

Hi BrightLynk,
The map viewport is handled by the MapGL component.
The import you see in the example code is a viewport typescript type. This can be used to make sure that the viewport object is in the right format. But if you're not using typescript you can ignore this part.
If you want to do some more sophisticated things, like viewport rotation or 3d translation, then you can use the Camera component.


#77 Support for SealedSecrets

SealedSecrets allows you to store secrets in a git repository and safely include them in values for a Helm chart. Support for SealedSecrets simplifies the usage of this chart with GitOps tools like Flux CD or Argo CD.
We've added support for SealedSecrets in our project and tested it with our services and Flux CD.

@randreev1321 lets merge this awesome PR


update documentation

@Gsantomaggio @acogoluegnes was this meant to only update the 4.1 version of the docs? Should we at the very least update the versioned_docs/* variant for 4.0?

The change was only for the client library page, which is not versioned IIUC.


Add back Security and Surveillance apps to Hospital wards

Heya, sorry if this isn't the right place for this but I couldn't find another way.
I just wanted to suggest adding back those apps to the hospital wards. I love everything else but I find it weird that there's cameras in those places and now there's absolutely no way to access them, since the apps in the Enforcer areas only cover the cameras in their areas.
Even just a config option for it would do.
I had a murder case in the Hospital and I was so confused why I couldn't see the footage.
If I missed something and I can still access the Hospital cameras, then let me know please.

Solved in release 0.8.2.


firebase_admin_interop builds are failing

I got working example with firebase_functions_interop after I add firebase_admin_interop builds are failing
pubspec.yaml
name: functions
version: 1.0.0
environment:
  sdk: ">=2.8.0 <3.0.0"
dependencies:
  firebase_functions_interop: ^1.0.2
  firebase_admin_interop: ^1.0.0
  node_interop: ^1.2.0

dev_dependencies:
  build_runner: ^1.0.0
  build_node_compilers: ^0.2.0

pub run build_runner build --output=build
gives error
Error: Null safety features are disabled for this library.
  final String? name;

flutter doctor -v
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.7 19H2 x86_64, locale en)
    • Flutter version 1.23.0-18.1.pre at /Users/sultanmyrza/flutter
    • Framework revision 198df796aa (5 weeks ago), 2020-10-15 12:04:33 -0700
    • Engine revision 1d12d82d9c
    • Dart version 2.11.0 (build 2.11.0-213.1.beta)

@pulyaevskiy, any update on this? I used this a year ago and now I'm getting these errors.


Fix: vm-connector used obsolete software

The vm-connector service used to run with obsolete versions of the aleph-sdk and Python.
Solution: Use the latest the version of the SDK and pin the version of dependencies.

we need test for this.


npm version

It seems like "npm version" replaces much of the functionality in npub except for the CHANGELOG & license header checks, which could appropriately be handled in scripts.

npm version does do some of the same things, but we want to be able to have more control over the precise order of those steps. It also does (and plans to do) much more.
If you'd rather use npm version and write some scripts to do the other things, feel free. However, a single tool to handle all of that is preferable to me, at least.


emoji.img_path doesn't change path

$(function() {
				emoji.img_path = "https://server.com/assets/emoji";
				alert(emoji.replace_colons(':smile:'));
			});

Should return

But instead returns:
<span class="emoji emoji-sizer" style="background-image:url(/emoji-data/img-apple-64/1f604.png)"

Also the filenames (img-apple-64) etc. don't seem to match up with the suggested emoji set:
https://github.com/github/gemoji/tree/master/images/emoji/unicode

which has hex-type filenames like 1f19a.png.
I'm probably doing some things completely wrong.

just went through source code i dont see that...
Could you point me to where you saw that?

I confirm this issue, it's not possible to specify the server for loading images.
The text of source code simply doesn't contain img_path.
Temporary workaround is
emoji.img_sets[emoji.img_set].path = 'https://raw.githubusercontent.com/github/gemoji/master/images/emoji/unicode/';

@Pmmlabs @levelsio try it this way instead
and if that doesnt work make sure you have access to the emoji variable maybe inside the emoji init functiton
emoji.img_sets[emoji.img_set]['path'] = 'https://raw.githubusercontent.com/github/gemoji/master/images/emoji/unicode/';

I've run into this problem too. Thanks for the fix, I'm doing this:
emoji.img_path = '/media/emoji-data/img-apple-64/';
emoji.img_sets[emoji.img_set].path = emoji.img_path;

the docs were wrong and have now been updated - sorry!


Disable Redis Modules Testing

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@shohamazon Please pull latest changes and rebase


Do not generate CRD for SSE

We do not want to generate CRD for SyntheticServiceEntry and this change is to excluede SyntheticSericeEntries from Istio Schemas since that's what we use in crd controller to generate CRDs.
Related issue: https://github.com/istio/istio/issues/19286

@hzxuzhonghu & @howardjohn PTAL

@Nino-K: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
259c5f754c47df3ee5db6e04403ce019c0844e63
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio

Can we just remove it from the schema.yaml or is that used in other places?

@howardjohn it is being used in a lot of places and for consistency I think it's best to keep it in the schemas but not in the knownTypes because that's what crd controller uses to generate the CRDs.


Create AI user

PT-188285964
Adds a fictitious "Ada Insight" user to the class that will be associated with comments generated by AI analysis.

@scytacki Yeah, I wondered about that but thought that it was better to use appConfig in the two places where it was already available rather than adding more store -> store dependencies. I wasn't sure if that would end up causing issues of initialization order or something.


Patch release to include new gRPC version

Hi, currently we are trying to change our deployment distros to Alpine, however, it seems like there was a glib compatibility issue in grpc-java that caused segmentation faults when trying to build the project. It seems to have been fixed since 1.56.0 but pekko-grpc 1.0.2 is still on 1.54.2. Is it possible to make a patch release so that the dependency gets bumped to fix this issue?

We are discussing a new release (https://lists.apache.org/thread/rjygk60ho1mojk4rqsmvd2y4244d55lr) but since Pekko is a fairly new project we have some questions to answer around in what order we want to do updates and which changes should cause major/minor version bumps.
Could you test your project with the snapshots we publish to https://repository.apache.org/content/groups/snapshots/org/apache/pekko/ ? Such feedback would be very valuable!

We will probably only release the gRPC lib update in Pekko 1.1.0. The protobuf changes are too much for a patch level release. You can build your own pekko-grpc libs from main branch if you like. We have snapshots on repository.apache.org. Main branch uses latest gRPC libs.

I understand, then for now we can close this issue. We will test our application with 1.1.0 when it gets released and open a new issue if the problem persists. Thanks for the info :)


Allow matching within comments

For better or for worse, people use comments to deactivate code. How about a way to match within commented out code?
I am not sure if this is as simple as having a language definition that doesn't define comments.

hey @goretkin you're right it makes sense to match on commented code and I've played around with adding comment matching but haven't completed it yet. It's unfortunately not as simple as adding a language definition--comby understands comments (they get parsed), but the logic where you have something like
/* :[match_comment body] */

where it means that "this hole is within a comment so match within the bounds of a comment", doesn't exist.  The implementation gap for this part is here https://github.com/comby-tools/comby/blob/a2ad280fe8badbbf1a2d5fd0424f44cee5e99182/lib/matchers/alpha.ml#L764
Let's use this issue to track progress on that.


wordpress6_2: init at 6.2

Description of changes
Add version 6.2

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

You also need to add wordpress6_2 to the top-level.

Please add the new version string of the test matrix at nixos/tests/wordpress.nix

Superseded by #229654.


Improve the UI and functionality of SendToEther Project of Level0

UI + Functionality Improvement List:

[x] Navbar for homepage
[x] Cross browser compatiblity -> Responsiveness
[x] Color Combinations
[x] Animations
[x] User friendly improvements
[x] Success page after clicking Send Button

Screenshot of original SendToEther Project in Repo:

Screenshot of edited SendToEther Project updated by me:

Video of enhanced SendToEther Project updated by me:
https://github.com/Vikash-8090-Yadav/Future.WebNet/assets/96042938/d92bb28b-1a56-44ef-b823-8beb53f72938

Hey @shrutimishra27 I guess you vanish the  blockchain concept from this. I like ur work but please don't change the class name and function which are included in buttons . Will suggest you to improve the voting application (Ui). Thanks, Raise an issue for that. Am merging this now, and I ll fix it. Thanks 4 ur Ui.

I apologize for that @Vikash-8090-Yadav.
Will surely take care from next time.
Thanks for the appreciation.

Wanted to confirm with you @Vikash-8090-Yadav, there is already New_Voting named folder in Level0 project.
So do I have to raise an issue for above New_Voting to enhance its UI.
Or I'll have to work on Voting ?


Read Permission Inheritance

If a user has permissions to read a collection, they should have permissions to read all member versions

Link to feature: https://wandb.productboard.com/feature-board/planning/features/14092415


Provide public docker image

Image: https://hub.docker.com/r/allantargino/container-nanny/
It was configured the CI using Github docker service.


Editor still white while using darcula

Before I used version 0.2.0 everything was fine with the UI. I use darcula and it was dark too. Now I use 0.2.0 and the editor is not dark anymore:

Cheers
Chris

Yes, version 0.2.0 is currently under development (ground up rework) and many things are still not working.
I'll try to fix this soon, but I don't think it's necessary to report issues on unreleased versions. Maybe in later close-to-release phase.

It is working, as expected.


feat: Set the special keys

This allows to use things that require those modifiers, for example, the Io::font_allow_user_scaling requires for imgui to be able to detect the control key.
The implementation is based on the winit impl and they do the double check just fine [1].
[1] https://github.com/imgui-rs/imgui-rs/blob/b1e66d050e84dbb2120001d16ce59d15ef6b5303/imgui-winit-support/src/lib.rs#L401-L404

woops, sorry for the force push, I initially did <= 256  when it should be strict less.

Converted to draft as I missed some virtual keys and I'm away from my windows machine.

Looks good to me -- I wasn't aware of this shortcoming so it's all the more welcome!

Now I added the rest of the special keys :D

Looks good to me -- I wasn't aware of this shortcoming so it's all the more welcome!

This is surprisingly useful for users with high resolution monitors! The use case of the litcher is to take photos inside games, so folks usually use 'hotsample' (i.e. run the game on a higher resolution than the monitor can support) to take a photo with amazing quality, but that means imgui font will be tiny, so someone suggested me to use the font scaling native from imgui and now with this it works!
You have to enable it manually, I did it on the initialize function, I thought about doing a PR for the default but wasn't sure if that's preferred.


FSDP vs Deepspeed

Hi, I have a question about the performance difference between FSDP and Deepspeed zero3.
When I trained with DPO on the SFT model, these two showed similar performance on some NLP datasets(truthfulqa, mmlu, etc.)
However, when training SFT with ultrachat-200k dataset, using FSDP and Deepspeed shows a big performance gap:

 | LLaMA2 | LLaMA2 SFT deepspeed | LLaMA2 SFT fsdp
-- | -- | -- | --
hellaswag | 76 | 76.72 | 55.95
truthfulqa | 38.96 | 41.61 | 45.24
mmlu | 41.77 | 41.40 | 28.29

Also, training loss converged when using Deepspeed whereas it increased and sometimes vibrated with FSDP.
It seems like underfitting when training with deepspeed.
Is this right? Why does this happen? Is there anyone who has similar issues?
Thank you for your help in advance!

Hi @ajseo95
the slight differences between normal SFT and DS can makes sense to me, however the gap between FSDP and DS is indeed strange. Can you elaborate more on the FSDP config you are using? Also are you training adapters or full fine-tuning?

Hi @ajseo95
This might be due to the way you load your model - do you load your model in full precision ? (torch_dtype=torch.float32), I suggest you to have a look at this FSDP training script from @pacman100 : https://github.com/pacman100/DHS-LLM-Workshop/blob/main/chat_assistant/training/train.py who recently introduced a fix on the SFTTrainer: https://github.com/huggingface/trl/pull/1110 to make sure non-trainable params are upcasted in fp32. Can you make sure your model is loaded entirely in fp32?

I set torch dtpye as bfloat16. I'll try with fp32! Thank you :)


wslinternals: Add version 0.0.13

This PR adds wslinternals to Extras from wslinternals-bucket.
wslinternals is licensed Apache 2. Description is complete. Passes Checkver:

[X] I have read the Contributing Guide.

/verify

Please add autoupdate section and update to the latest version.

/verify


Identifying current notebook

I asked this over on Deno's discord earlier this week but without much luck:

Is there a way to get current full path to the current notebook from within a ts cell when running deno kernel in Jupyter? import.meta stuff does not work since it's not a module

There is no way due to how the jupyter protocol works.

what about some sort of API to access current execution context? i want to be able to inspect all the cells in the current notebook

Start by digging into Deno's source code for the jupyter implementation in these files:

https://github.com/denoland/deno/blob/main/cli/tools/jupyter/mod.rs
https://github.com/denoland/deno/blob/main/cli/tools/jupyter/server.rs

Right now only the current execution request is tracked, there's no storage of all the previous runs (like IPython has with In and Out arrays).


How do I change the grey colour behide the icon?

So I've noticed that there is a persistent grey bg behind the icons and I am not sure how to remove this. Any ideas?
Here is a screenshot of what I mean

When I install this it works initially, but upon restart I get a grey background as well. I am using NVChad and suspect that something is getting loaded out of order or something is overriding the color.

I add some trouble with this for certains themes, the default one mostly.
On macos i found that moving the default themes from brew install dir (/usr/share/vim/vim82/colors) to my XDG_DATA_HOME ('~/.config/vim/.vim/colors') fixed the problem for most of them. Instead of a grey color they adapted to the current theme
I think it has to do with write permissions on highlight groups
Hope it helps


[$500] When you send old :expensify: link and hover you will not see any tooltip and the link is without underline - reported by @Puneet-here

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

Action Performed:

Go to any chat
Send https://www.expensify.com/inbox or link
Or go to concierge chat as it contains old :expensify: links

Expected Result:
You should see underline below the link and tooltip when you hover
Actual Result:
You don't see any tooltip or underline
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.79-11
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43995119/177477653-25a955da-5383-482e-9174-396f0f065e6a.mov
Expensify/Expensify Issue URL:
Issue reported by: @Puneet-here
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1656098692618689
View all open jobs on GitHub

This definitely seems as a suitable External issue

Upwork job is here: https://www.upwork.com/jobs/~0123b2819ac262a34e

Send expensify.com/inbox or link

These are old links. For new, you can copy-paste the URL from the browser address bar.

I am not able to run the web app yarn web. Is there any issue with the app 🤔

Proposal
We need to wrap the oldExpensifyLink in ToolTip here and need to add the style prop to text for underlining
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L44-L53
+            <Tooltip text={attrHref}>
                <Text
-                    style={styles.link}
+                     style={[styles.link, {...props.style}]}
                    onPress={() => Link.openOldDotLink(internalExpensifyPath)}
                >
                    <TNodeChildrenRenderer tnode={props.tnode} />
                </Text>
+            </Tooltip>

and this issue is happening with the new Expensify link also, please try with this link https://new.expensify.com/inbox,
new Expensify link also has to be wrapped in ToolTip
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L31-L40
+            <Tooltip text={attrHref}>
                <Text
-                    style={styles.link}
+                    style={[styles.link, {...props.style}]}
                    onPress={() => Navigation.navigate(internalNewExpensifyPath)}
                >
                    <TNodeChildrenRenderer tnode={props.tnode} />
                </Text>
+            </Tooltip>

Video:
https://user-images.githubusercontent.com/35371050/178581737-e19c53b1-da71-4612-85d1-e8a45e6ebffc.mov

@jeet-dhandha Sorry to see you having problems running the app :/
The best way to get help is through our open-source Slack channel where all the other contributors and Expensify engineers are. You can get more information about how the contributing process work here. There are also other important markdown files you can find in the repository which will help you get started.
If you haven't reached out yet, please, ask for access to the Slack channel and we will be able to help you resolve any problems way quicker.
Looking forward to you solving the issues in the App 🙌

@jayeshmangwani Although it will fix this issue, it won't work as expected. It will have regressions. What if this component is used outside the report message/comment?

Looking at code history, I can tell that when this code was added, tooltips didn't exist for links. This means it was missed during the implementation of link tooltips.

Waiting for proposals.

Still waiting for proposals. Increasing price to $500.

@jayeshmangwani Would you like to update your proposal without the issue?

Updated proposal
Thanks for the ping @parasharrajat
if we want to use ToolTip only for comment/message then we have to add a new if condition here with HTMLEngineUtils.isInsideComment(props.tnode)
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L44-L53
+    if (internalExpensifyPath && !isAttachment && HTMLEngineUtils.isInsideComment(props.tnode)) {
+        return (
+          <Tooltip text={attrHref}>
+            <Text
+                style={styles.link}
+                onPress={() => Link.openOldDotLink(internalExpensifyPath)}
+            >
+                <TNodeChildrenRenderer tnode={props.tnode} />
+            </Text>
+.         </Tooltip>
+        );
+    }

@parasharrajat please correct me if I misunderstood your concern from previous proposal my https://github.com/Expensify/App/issues/9739#issuecomment-1182409266

@jayeshmangwani Please, use proposal as the first word of the comment to make sure the issue becomes Daily 🙌  Thank you

I see, still, the proposal can be improved and the code can be cleaned or refactored.

I am debugging this and if I get a better proposal then I will update it, Thanks

I see, still, the proposal can be improved and the code can be cleaned or refactored.

@parasharrajat
These are the few things that can be cleaned,
this code is being used 3 times in the AnchorRendere file here, we can make a separate component and can pass onPress as a prop
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L33-L38
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L46-L51
https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L59-L65
-<Text
-    style={styles.link}
-    onPress={() => Link.openOldDotLink(internalExpensifyPath)}
->
-    <TNodeChildrenRenderer tnode={props.tnode} />
-</Text>

we can replace this with this component,
+function LinkRenderer ({ onPress }) {
+  return (
+      <Text
+          style={[styles.link]}
+          onPress={onPress}
+      >
+          <TNodeChildrenRenderer tnode={props.tnode} />
+      </Text>
+  )
+};

and for ToolTip + Link (messages/comments) we can create a new component like this,
+function TooltipLinkRenderer ({ onPress }) {
+  return (
+      <Tooltip text={attrHref}>
+          <Text
+              style={[styles.link, {...props.style}]}
+              onPress={onPress}
+          >
+              <TNodeChildrenRenderer tnode={props.tnode} />
+          </Text>
+      </Tooltip>
+  )
+}

and if we want to use the ToolTip for the comments only then we can add this code at the old expensify link,
+const isInsideComment = !HTMLEngineUtils.isInsideComment(props.tnode);

-<Text
-  style={styles.link}
-  onPress={() => Navigation.navigate(internalNewExpensifyPath)}
->
-  <TNodeChildrenRenderer tnode={props.tnode} />
-</Text>
+  isInsideComment ?
+      <TooltipLinkRenderer onPress={() => Link.openOldDotLink(internalExpensifyPath)} />
+      :
+      <LinkRenderer onPress={() => Link.openOldDotLink(internalExpensifyPath)} />

this code is being used 3 times in the AnchorRendere file here, we can make a separate component and can pass onPress as a prop

Good point. But You are missing a small pattern. Don't worry I'll help.
Try to find what is different in all of three if blocks https://github.com/Expensify/App/blob/41346c82c6c0854e0c5bc427e9193d40723feec6/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L31-L37.
Only the onPress call. Right? So why don't we create a common press handler and use it?
    const navigateToLink = () => {
        // If we are handling a New Expensify link then we will assume this should be opened by the app internally. This ensures that the links are opened internally via react-navigation
        // instead of in a new tab or with a page refresh (which is the default behavior of an anchor tag)
        if (internalNewExpensifyPath) {
            Navigation.navigate(internalNewExpensifyPath);
            return;
        }

        // If we are handling an old dot Expensify link we need to open it with openOldDotLink() so we can navigate to it with the user already logged in.
        // As attachments also use expensify.com we don't want it working the same as links.
        if (internalExpensifyPath && !isAttachment) {
            Link.openOldDotLink(internalExpensifyPath);
            return;
        }
        Linking.openURL(attrHref);
    };

But your proposal is still incomplete. Try out the following links and check that hovering over them shows the tooltip and right-clicking shows the contextMenu for links.

Only the onPress call. Right? So why don't we create a common press handler and use it?

@parasharrajat Thanks for the above suggestions yes we can create a common function for this, and yes you are right my previous proposal missed the context menu part,
const navigateToLink = () => {
  // If we are handling a New Expensify link then we will assume this should be opened by the app internally. This ensures that the links are opened internally via react-navigation
  // instead of in a new tab or with a page refresh (which is the default behavior of an anchor tag)
  if (internalNewExpensifyPath) {
      Navigation.navigate(internalNewExpensifyPath);
      return;
  }

  // If we are handling an old dot Expensify link we need to open it with openOldDotLink() so we can navigate to it with the user already logged in.
  // As attachments also use expensify.com we don't want it working the same as links.
  if (internalExpensifyPath && !isAttachment) {
      Link.openOldDotLink(internalExpensifyPath);
      return;
  }
  Linking.openURL(attrHref);
};

For contextMenu I took reference from the AnchorForCommentsOnly component and removed the email checking condition part from the first argument and used static type CONTEXT_MENU_TYPES.LINK
https://github.com/Expensify/App/blob/d48e1474241b32b5702101ab12679d0917df410f/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js#L65-L77
created 2 functions,

for links only that has no tooltip
for tooltip and link

const linkRenderer = () => {
 return (
   <Text
       style={[styles.link, {...props.style}]}
       onPress={()=> navigateToLink()}
   >
     <TNodeChildrenRenderer tnode={props.tnode} />
   </Text>
 )
};

const tooltipLinkRenderer  = () => {
 return (
   <PressableWithSecondaryInteraction
     inline
     onSecondaryInteraction={
     (event) => {
         ReportActionContextMenu.showContextMenu(
             ContextMenuActions.CONTEXT_MENU_TYPES.LINK,
             event,
             attrHref,
             lodashGet(attrHref, 'current'),
         );
     }}
   >
     <Tooltip text={attrHref}>
       {linkRenderer()}
     </Tooltip>
   </PressableWithSecondaryInteraction>
 )
};

and made a single if condition for old and new Expensify path as we have made a function that handles the onPress, and inside if added a ternary for checking the isComment , if from the comment then will show tooltip otherwise link only
if ((internalExpensifyPath && !isAttachment) || internalNewExpensifyPath) {
 return (
   isInsideComment ?
     tooltipLinkRenderer()
     :
     linkRenderer()
 )
}

Thanks for the help

For contextMenu I took reference from the AnchorForCommentsOnly

Good. But you are still missing something big about AnchorForCommentsOnly and its usage in AnchorRenderer. Do we really need tooltipLinkRenderer?

@jayeshmangwani Are you still interested in this issue?

@jayeshmangwani Are you still interested in this issue?

@parasharrajat Sorry for some reason I am not working for the next 4-5 days, so I can not work on this, Thanks

Still waiting for proposals. Increasing price to $1000.

Proposal
I think I can finish it. I have a pretty fair plan to do it.

As the UI elements are same for all three conditions https://github.com/Expensify/App/blob/99d5dc3970c1ec62b55ef767349cef3fddc863ed/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L31-L67.

I will create a common function to navigate to different locations.
const navigateToLink = () => {
  // If we are handling a New Expensify link then we will assume this should be opened by the app internally. This ensures that the links are opened internally via react-navigation
  // instead of in a new tab or with a page refresh (which is the default behavior of an anchor tag)
  if (internalNewExpensifyPath) {
      Navigation.navigate(internalNewExpensifyPath);
      return;
  }

  // If we are handling an old dot Expensify link we need to open it with openOldDotLink() so we can navigate to it with the user already logged in.
  // As attachments also use expensify.com we don't want it working the same as links.
  if (internalExpensifyPath && !isAttachment) {
      Link.openOldDotLink(internalExpensifyPath);
      return;
  }
  Linking.openURL(attrHref);
};

Now there will be only one condition for !HTMLEngineUtils.isInsideComment(props.tnode)which is used for links other than report messages.

    if (!HTMLEngineUtils.isInsideComment(props.tnode)) {
        // This is not a comment from a chat, the AnchorForCommentsOnly uses a Pressable to create a context menu on right click.
        // We don't have this behaviour in other links in NewDot
        // TODO: We should use TextLink, but I'm leaving it as Text for now because TextLink breaks the alignment in Android.
        return (
            <Text
                style={styles.link}
                onPress={navigateToLink}
            >
                <TNodeChildrenRenderer tnode={props.tnode} />
            </Text>
        );
    }

Lastly, we want to show the tooltips for all types of links as they will fall under the report messages but also want to handle the different navigation based on the type of link. Whether it is a newDotlink or oldDOtlink etc.

To do this, I will use the same AnchorForCommentsOnly block and our navigateToLink function that we created on step 1. I will optionally pass this function to AnchorForCommentsOnly
https://github.com/Expensify/App/blob/99d5dc3970c1ec62b55ef767349cef3fddc863ed/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js#L70
  <AnchorForCommentsOnly
            ...
            onPress={internalNewExpensifyPath || internalExpensifyPath || !HTMLEngineUtils.isInsideComment(props.tnode) ? navigateToLink : undefined}
        >

Here we are only passing the onPress handler when link is either internalNewExpensifyPath or internalExpensifyPath or !HTMLEngineUtils.isInsideComment(props.tnode). This onPress when present will override the href of  AnchorForCommentsOnly.
Now, all types of URLs will have tooltips in report Messages.

@puneetlath I have a proposal above.

I was preparing a proposal like your proposal.
the only addition you will need is to add
href={!this.props.onPress ? this.props.href : undefined}  on BaseAnchorForCommentsOnly/index to prevent internal  link  on web form open 2 times .

Your plan for the links sounds good to me.

Other than this, I have long planned to clean up BaseAnchorForCommentsOnly component as it does two different things, render links and render attachments(Except images). I will separate these two behavior into two different components so it is easy to follow the code.

This sounds like a good update, but can we separate it from this PR? Doesn't seem like it needs to be tied to it.

@mananjadhav adding you as the C+ since @parasharrajat is going to take this issue on.

I found two bugs.

Clicking on new.expensify.com/index does nothing. It throws an error on the console as /index is not a valid route in App.
When a user is offline clicking on internal links shows a growl that you are offline. But as these are links it should work offline too.

Will report them on slack shortly..

@mananjadhav have you had a chance to review this one yet?

Hi @puneetlath, I thought as per the guidelines, if member of the C+ team is working on the issue, then C+ Review won't be needed?
I can take it up if you'd like, and give me time until tomorrow.

@parasharrajat @mananjadhav I've sent you both hiring offers through Upwork. Please accept when you get a chance so that we can pay you out. Thanks!

Looks like that PR was merged yesterday. Will pay this out in 6 days if no more regressions.

@mananjadhav - paid.
@parasharrajat - hiring offer sent
@Puneet-here - it doesn't look like you were paid for reporting. If not, can you apply here? https://www.upwork.com/jobs/~01af2bac857d001e72

Applied! Thanks.

All paid! Thanks everyone.