YARN-10419. Javadoc error in hadoop-yarn-server-common module.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

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

_ Prechecks _

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

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

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
31m 23s
trunk passed

+1 :green_heart:
compile
0m 37s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
compile
0m 31s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
checkstyle
0m 22s
trunk passed

+1 :green_heart:
mvnsite
0m 35s
trunk passed

+1 :green_heart:
shadedclient
16m 50s
branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 35s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
0m 26s
trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+0 :ok:
spotbugs
1m 16s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
1m 13s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 31s
the patch passed

+1 :green_heart:
compile
0m 31s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javac
0m 31s
the patch passed

+1 :green_heart:
compile
0m 26s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
javac
0m 26s
the patch passed

+1 :green_heart:
checkstyle
0m 16s
the patch passed

+1 :green_heart:
mvnsite
0m 29s
the patch passed

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

+1 :green_heart:
shadedclient
15m 50s
patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 26s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javadoc
0m 23s
the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

+1 :green_heart:
findbugs
1m 15s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
2m 33s
hadoop-yarn-server-common in the patch passed.

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

78m 49s

Subsystem
Report/Notes

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

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

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

uname
Linux c0335ee865a2 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/bin/hadoop.sh

git revision
trunk / 0207f5cf461

Default Java
Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01

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

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

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

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

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

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

This message was automatically generated.

Thanks, @aajisaka. I merged this.


Disable a recently checked in apply optimization

Temporarily disabling it while I fix a high hitting bug.

This change is

What's the reason for disabling?

@agarwal-sandeep , fixing a high hitting bug in the meantime. Updated the description


IBGU: remove blocking cgu annotations

Since we are using label selectors, we no longer need blocking cgu annotations to filter clusters.

/override ci/prow/integration


fix: excluded_* and required_* checks aren't triggered on pointers to structs

Fixes Or Enhances
Fix for https://github.com/go-playground/validator/issues/906
Trigger excluded_* and required_* checks on pointers to structs.
Before fix all default backed-in tags were ignored for non-nil pointers to structs.
Now it's possible to check whether pointer to struct is nil or not depending on another field value.
Make sure that you've checked the boxes below before you submit PR:

[ ] Tests exist or have been written that cover this particular change.

@go-playground/validator-maintainers

coverage: 73.975% (+0.003%) from 73.972% when pulling cb8c343d26441863460b347e7cd0cc02758313b4 on iradmt:bugfix/nil_checkable_on_struct_ptr into bd1113d5c1901c5205fc0a7af031a11268ff13ee on go-playground:master.


[add-resource] New Plugin/Theme

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details: /Memurame/grav-toolbox

Please use the repo naming format.  “grav-plugin-yourpluginname” or “grav-theme-youthemename”
Also toolbox name is already used by an internal plugin so please choose another name.

Ok i changed the name. The new repo:
https://github.com/Memurame/grav-plugin-toolbox

I also mentioned that toolbox is the name of an existing internal plugin, and you need to pick another name.

Oh, my mistake.
Now i have renamed.
https://github.com/Memurame/grav-plugin-smartthings

Added to GPM

I can't find the plugin in the GPM and Plugin list.
Or is this only integrated with the next Grav Update?

Added to GPM

There's still no release in Github: Please ensure you have followed all the steps here: https://learn.getgrav.org/16/advanced/grav-development#theme-plugin-release-process


pkg/build: update env variables for akaros

Remove the environment variable: AKAROS_XCC_ROOT
(refer to commit: brho/akaros bdab8c3a)
Add environment variable AKAROS_TOOLCHAINS which
points to the parent directory of the old AKAROS_XCC_ROOT.
(refer to commit: brho/akaro 62ec5c3c)
Add "$AKAROS_TOOLCHAINS/x86_64-ucb-akaros-gcc/bin" to PATH.

Signed-off-by: Aditya Basu<EMAIL_ADDRESS>
Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Codecov Report

Merging #1211 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1211      +/-   ##
==========================================
+ Coverage   67.67%   67.68%   +<.01%
==========================================
  Files         120      120
  Lines       20877    20876       -1
==========================================
  Hits        14129    14129
+ Misses       6080     6079       -1
  Partials      668      668

Impacted Files
Coverage Δ

pkg/build/akaros.go
0% <0%> (ø)
:arrow_up:

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 63bf051...c747548. Read the comment docs.

Perfect! Thanks! Let's see if it helps:
https://syzkaller.appspot.com/akaros
it should do another build soon

It worked! We have a new build:
https://syzkaller.appspot.com/akaros

Great!
On Tue, Jun 4, 2019 at 2:39 AM Dmitry Vyukov<EMAIL_ADDRESS>wrote:

It worked! We have a new build:
https://syzkaller.appspot.com/akaros
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/syzkaller/pull/1211?email_source=notifications&email_token=AAK4KTJ3QOI4NBYC7DAHYGTPYYE35A5CNFSM4HSJR5S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW3SMMI#issuecomment-498542129,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAK4KTJ7AX7GTW5HBGLD4Z3PYYE35ANCNFSM4HSJR5SQ
.


No underline for selected files

Here's an example taken from a different theme. This theme does not have underlines or any indications to let you know which file you currently have open.
Tested with Windows 10.

Fixed the issue in my fork. Feel free to pull the changes.

Thanks for making these changes, I'm reviewing now.
The only thing I'm noticing so far is the font looks extremely large (18) on my MacBook with default resolution and scaling. I can check what most themes are using but I forked from the Material theme which uses 12.
I like using a color variable for yellow, but I would like to be consistent and have all primary colors use variables. I may update later.

Also FYI, feel free to do a proper fork/pull request in the future, it would make it much easier to review, and also keep you credited in the git history.
Or was there a reason you wanted a separate published plugin on the JetBrains repository, vs pulling into this one?

The only other thing is I probably want to change is the tearline color you picked. I would rather match how VSCode looks, but I'm not sure if its possible:

Thanks for making these changes, I'm reviewing now.
The only thing I'm noticing so far is the font looks extremely large (18) on my MacBook with default resolution and scaling. I can check what most themes are using but I forked from the Material theme which uses 12.
I like using a color variable for yellow, but I would like to be consistent and have all primary colors use variables. I may update later.

Updated the font size to 12 and added variables for all colors used.

Also FYI, feel free to do a proper fork/pull request in the future, it would make it much easier to review, and also keep you credited in the git history.
Or was there a reason you wanted a separate published plugin on the JetBrains repository, vs pulling into this one?

I've made some modifications to the theme that you might not agree with so I thought it would be easier to just fork my own. e.g., I've changed the identifier under caret to have a bordered effect instead of highlighting the background since JetBrains doesn't support opacity and I couldn't find a consistent color that was clear.

The only other thing is I probably want to change is the tearline color you picked. I would rather match how VSCode looks, but I'm not sure if its possible:

The tearline color that VSCode uses is much brighter than the one I selected since VSCode by defaults hides the tearline unless you're hovering over it. I've updated mine just now to be darker and highlight to a whiter color on selection.

The caret identifier change looks good.
I pushed up your changes to my repo, but only adjusted the tearline slightly (403e41). I want to think about the tearline a bit more, and will probably look at that again later. Ideally, I want to have no line for the top-level code sections like VSCode. That brighter color only shows up when its selected.
I'm going to review one more time tonight, and will push up a new version to the JetBrains repository if everything looks good.
Thanks for your help!

The caret identifier change looks good.
I pushed up your changes to my repo, but only adjusted the tearline slightly (403e41). I want to think about the tearline a bit more, and will probably look at that again later. Ideally, I want to have no line for the top-level code sections like VSCode. That brighter color only shows up when its selected.
I'm going to review one more time tonight, and will push up a new version to the JetBrains repository if everything looks good.
Thanks for your help!

👍 Thanks and nice job on converting the theme.


for-15:05: Timezone information: update to 2015f

Backport the timezone update to 2015f from Luci trunk
Changes in 2015e and 2015f:
http://mm.icann.org/pipermail/tz-announce/2015-June/000032.html
http://mm.icann.org/pipermail/tz-announce/2015-August/000033.html
 Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
 not 06-13 and 07-18 as we had guessed.

 Assume Cayman Islands will observe DST starting next year, using US rules.
 Although it isn't guaranteed, it is the most likely.

 North Korea switches to +0830 on 2015-08-15.
 The abbreviation remains "KST".

 Uruguay no longer observes DST.

 Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.

Signed-off-by: Hannu Nyman<EMAIL_ADDRESS>

Thanks


Main Page After Login

List of all pets
Logout button
Post new pet button
View Posted pets
Profile Button


false negative with namespacing/qualifications using jsx-pascal-case

Using v7.1.0,
<__this.MyComponent/>
<containerClass.MyComponent/>
<containerObject.MyComponent/>

flag an error (e.g Contained JSX component MyComponent must be in PascalCase (react/jsx-pascal-case))

The docs for that rule don't mention either member expressions (your example) or namespaces, so it's probably an omission.
Both should be accounted for - I believe the spirit of the rule is that anything.PascalCased and anything:PascalCased should both be allowed.

And anything.camelCase is disallowed, right? Disallowing this will be a breaking change.

I’d call it a bugfix, not a breaking change.

I am looking to fix this. I think there is a legitimate bug in the jsx-pascal-case rule but before going further I'd need to clarify what the behaviour should be. I tried to look at a spec for how namespaces should be handled but didn't find any authoritative source.
@ljharb Could you tell me what should be allowed / not allowed from this list when the rule is enabled?

__foo.myComponent
__foo.MyComponent
__foo:myComponent
__foo:MyComponent
Foo.myComponent
Foo.MyComponent
Foo:myComponent
Foo:MyComponent

The bug by the way has to do with the fact that when there is foo.bar in the code, we look how foo is formatted, not bar, which seems weird if foo is the namespace and bar the component name. However this might just be an error of understanding on my end.

@yacinehmito i would expect 2, 4, 6, and 8 to be allowed; and the others not to be.

I also wonder about:

foo:bar
foo.bar

There is some code that suggests that components in all lowercase should always be accepted as they can be plain HTML, but I don't know where the limit lies.
I'm pretty sure foo:bar should be accepted. I don't know about foo.bar.

No, lowercase components can never be namespaced; i'm pretty sure neither of those are valid.

No, lowercase components can never be namespaced.

Ok. I will update the test cases in #2637 to reflect this then.
Would you humour me though and provide me a source that shows that `svg:circle for example is impossible in React?

https://itnext.io/using-react-for-xml-svg-470792625278 talks about it - it's not that it's impossible in react, it's that it's impossible in jsx. https://reactjs.org/docs/jsx-in-depth.html is useful as well.
They kind of imply that svg:circle will just be passed to React.createElement, where it'll be treated as html, however. If you want to be certain, whip up a codesandbox that shows what React actually does, and our tests should match that.

Thank you very much for the links.
Should we then error out in the jsx-pascal-case rule or should we ignore that because it's not going to work anyway?
I'd favour the former as the rule might confuse the user as to why the code is not working.

whip up a codesandbox that shows what React actually does

React is not happy about it.

We should warn on anything React won't accept.

Yes, but should we warn it with a rule that's called jsx-pascal-case? Because in that particular instance, the editor is already telling me something.
This is when I just type it:

If I have both the rule react/jsx-no-undef and react/jsx-pascal-case, as a user will I understand what is going on?
The, if I add a dummy identifier for svg, I have this:

Now it's TypeScript that doesn't like it. Again, if I have syntax error and an error from react/jsx-pascal-case, do I have a clear path forward?
I think this should be addressed with a new rule, that could for example be called jsx-no-namespace. What do you think?

As this typescript issue indicates,

namespacing with : is supported in JSX standard (Namespaces are not supported by React [babel-plugin-transform-react-jsx], but Babel correctly parses them [babel-plugin-syntax-jsx]. But tooling seems not supporting it.
As it is indicated here, you can React.createElement("image:image", props, children) and it is legal
-Currently you can

      <svg>
        <circle cx={50} cy={50} r={10} fill="red" />
      </svg>

My humble opinion is namespacing with : () should be supported by jsx, but until tooling is up to date, jsx-no-namespace can only work with dot notation  or hierarchical notation  ..., but the problem is when the support comes, how it will be faded away? Will it still give an error even if the tooling is supporting it?

Thank you very much. The TypeScript issue is indeed very helpful to understand the problem.
This make me confident that we should introduce jsx-no-namespace as a rule.

It is valid JSX
It is only already an error with TypeScript; the linter here would help contextualise that error
Without TypeScript it is the only to statically flag the pattern as problematic with React; this or jsx-pascal-case, which IMO is unsuitable for that purpose.

I'll submit a PR shortly.

PR to add jsx-no-namespace: https://github.com/yannickcr/eslint-plugin-react/pull/2640

the problem is when the support comes, how it will be faded away? Will it still give an error even if the tooling is supporting it?

The linter has ways to detect the version of React that is used. This can inform on whether the rule should be enabled by default or not.


Error when using hostednetwork in Win7 to execute servefiles

Hello. First of all thank you for all the effort. Now to the point.
I came across the error because I access internet in my 3DS using Win7 hostednetwork AP. To put it in another way, I don't have WiFi so I share internet from the laptop. When doing this another connection is added so I have Local Area Network 1 and Local Wireless Connection 2 (this is an example), each with different IPs. The first, the one with access to internet, have an ip like this: 10.13.x.x And the second, the one that gets the shared internet from the first, has an ip like this: 192.168.x.1
When I run: python servefiles.py <3DS IP> . All works at first, but then it gets stuck really quickly and throws an error that says something about the host interrupted the conection. So I deactivated the firewall of my pc, did a fresh install of Python 3 and got the same error.
Then I noticed that the script took the 10.13.x.x ip instead of the 192.168.x.1, the later being the one from the Wireless connection that communicated the 3DS and the laptop. So I begun to meddle with the  script to test if this was the problem and changed some of the code in line 33:
baseUrl = [(s.connect(('<IP_ADDRESS>', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1] + ":8080/"
For:
if len(sys.argv) == 4:         baseUrl = sys.argv[3] + ":8080/" else:         baseUrl = [(s.connect(('<IP_ADDRESS>', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1] + ":8080/"
I did this with the purpose of setting manually the host IP in cases like mine where there are various IPs. And the good part is that it worked. Right now the CIA is being installed.
I guess that there is a better way to solve this problem but I have little knowledge of python. So I will be waiting your response.
Hope I helped, happy new year.

Added a host IP argument to servefiles.


fix(android): remove trailing slash before calling AssetManager#list

We compiled an app without cdvasset.manifest and discovered that an old issue still exists in Android 4.4.

Rerun this with current test config.

CI: Once more please.


reconnect on network down

Hi. Debugging my swarm cluster and down my network, then I see:
Message: org.redisson.client.RedisTimeoutException: Redis server response timeout (500 ms) occured for command: (INCRBY) with params: [..., 0] channel: [id: 0x315e345a, L:/<IP_ADDRESS>:54874 - R:/<IP_ADDRESS>:6379].
Only restart help me. Why can you reconnect?

This exception only happens after retry

no,there was many exceptions,and no up, only reboot can help me

Redisson should connect to your next master once the role transition is over

its a single node mode, there was no reconnect

Can you show us your configuration and usage please? Also what's the version you're having this problem?

I have latest version, my config is:
Config config = new Config();
        config
            .setCodec(new StringCodec())
            .useSingleServer()
            .setAddress("redis://" + host + ":" + port)
            .setRetryAttempts(1)
            .setRetryInterval(0)
            .setTimeout(timeout);
        return Redisson.create(config);

I have docker environment, when my redis down and start on other node, I see timeouts on redisson client, seems like it recconected not all pool to new redis. Restart solve problem. very sad(

Why are you using useSingleServer with multiple nodes? What's the TTL of the host? Are you running a security manager in your JVM?

there is 1 node!!!there is no security manager

I see this after 6 hours, I think that not all pool change dns for new redis instance.

Here is my answer for similar case https://github.com/redisson/redisson/issues/914#issuecomment-314416749

@mrniko <IP_ADDRESS>??? it is not test for my use case, I told you that dns resolve has bug.

@z0mb1ek

I told you that dns resolve has bug.

Which bug, could you help to resolve it?

there is an option Config.dnsMonitoring have you tried it?

@mrniko it turn on by default I see. I try to debug it and report. But I see this on 10 apps in my cluster. The same behavior at all

@z0mb1ek
Thank you! I'm looking forward for your results

@mrniko
This code does not reconnect =(
Config config = new Config();
        config
            .setCodec(new StringCodec())
            .useSingleServer()
            .setAddress("redis://" + "localhost" + ":" + 6379)
            .setRetryAttempts(1)
            .setRetryInterval(0);
        RedissonClient redissonClient = Redisson.create(config);

        for (int i = 0; i < 1_000_000_000; i++) {
            try {
                Thread.sleep(500);
                redissonClient.getBucket("test").set("1");
            } catch (Exception e) {
                System.out.println(e.toString());
            }
        }

It seems that I have exactly the same problem. The following code and logs may help you with finding the cause of the problem:
Configuration of a Redisson client:
final Config redissonConfig = new Config();
        redissonConfig.setNettyThreads(2);
        redissonConfig.useSingleServer()
                .setAddress("redis://elasticache-single-node.cache.amazonaws.com:6379")
                .setConnectionPoolSize(10)
                .setConnectionMinimumIdleSize(1)
                .setIdleConnectionTimeout(5000)
                .setReconnectionTimeout(3000)
                .setTimeout(5000)
                .setPingTimeout(2000)
                .setClientName("DefaultSyncStateCacheClient");

The client is created only once and shared across many sessions:
        final RedissonClient redissonClient = Redisson.create(redissonConfig);
        redissonClient.getNodesGroup().addConnectionListener(new RedisConnectionListener());

The listener is configured to notify about connection status:
public class RedisConnectionListener implements ConnectionListener {

    private static final Logger LOGGER = LoggerFactory.getLogger(RedisConnectionListener.class);

    @Override
    public void onConnect(final InetSocketAddress address) {
        LOGGER.info("Connecting to: [hostString={}]", address.getHostString());
    }

    @Override
    public void onDisconnect(final InetSocketAddress address) {
        LOGGER.info("Disconnecting from: [hostString={}]", address.getHostString());
    }
}

There is also a health check implemented to check status of connection and it is invoked with GET /admin/healthcheck:
public class LockHealthCheck extends HealthCheck {

    static final String NAME = "lockState";

    private final RedissonClient redissonClient;

    @Inject
    public LockHealthCheck(final RedissonClient redissonClient) {
        super();

        this.redissonClient = redissonClient;
    }

    @Override
    protected Result check() {
        if (redissonClient.getNodesGroup().pingAll()) {
            // returnsOK (200)
            return Result.healthy("All nodes pinged successfully");
        }

        // return INTERNAL_SERVER_ERROR (500)
        return Result.unhealthy("At least one node did not answer to ping correctly in specified time");
    }
}

Below is the code which accesses RLocalCachedMap (the map instance in Redis has the same name). "isMapEntryPresent" method is invoked with POST /application/getMapEntry.
class TestReconnection {

    private final RLocalCachedMap<String, String> map = redissonClient.getLocalCachedMap(
                "RLocalCachedMap",
                LocalCachedMapOptions.<String, String>defaults()
                        .invalidationPolicy(LocalCachedMapOptions.InvalidationPolicy.ON_CHANGE_WITH_CLEAR_ON_RECONNECT)
                        .maxIdle(5, TimeUnit.SECONDS)

    public boolean isMapEntryPresent() {
        return Optional.ofNullable(map.get("MAP_ENTRY_KEY"))
                       .map(Objects::nonNull)
                       .orElse(false);
    }
}

NOTE: the code is not 100 % equal to the real code, but the conception and configuration is exact.
I've got a Redis server in Elasticache service which has following parameters:

tcp-keepalive: 300 (I don't think it is relevant here)
timeout: 30

This completes the setup description. Now I reproduced network downtime and reconnection with following steps:
Firstly, I pinged all nodes with my health check (3 times).
0:0:0:0:0:0:0:1 [2017-08-01 11:41:54.916] null "GET /admin/healthcheck HTTP/1.1" 200 130 96 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
0:0:0:0:0:0:0:1 [2017-08-01 11:42:00.850] null "GET /admin/healthcheck HTTP/1.1" 200 130 96 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
0:0:0:0:0:0:0:1 [2017-08-01 11:42:02.556] null "GET /admin/healthcheck HTTP/1.1" 200 130 95 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

And as we can see pingAll returned true for all three times.
Secondly, I turned on my WiFi network. And I started seeing these logs repeatedly:
ERROR  [2017-08-01 13:42:18.521]  [/] [redisson-3-5] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:23.526]  [/] [redisson-3-6] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:28.528]  [/] [redisson-3-7] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:33.530]  [/] [redisson-3-8] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:38.533]  [/] [redisson-3-1] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:43.533]  [/] [redisson-3-2] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:48.537]  [/] [redisson-3-3] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:53.542]  [/] [redisson-3-4] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:42:58.548]  [/] [redisson-3-5] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:03.551]  [/] [redisson-3-6] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:08.558]  [/] [redisson-3-7] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:13.559]  [/] [redisson-3-8] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:18.565]  [/] [redisson-3-1] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:23.569]  [/] [redisson-3-2] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:28.576]  [/] [redisson-3-3] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:33.577]  [/] [redisson-3-4] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:38.584]  [/] [redisson-3-5] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com: nodename nor servname provided, or not known
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)
ERROR  [2017-08-01 13:43:43.585]  [/] [redisson-3-6] SingleConnectionManager - elasticache-single-node.cache.amazonaws.com
java.net.UnknownHostException: elasticache-single-node.cache.amazonaws.com
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.redisson.connection.SingleConnectionManager$1$1.run(SingleConnectionManager.java:105)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)

Thirdly, I turned on my WiFi network (after over 60 seconds to make sure that Redis server close idle connections - timeout is configured to 30sec) and after a short while it stopped writing above logs.
Fourthly, I started to check whether I can access map entry with 'isMapEntryPresent' method:
0:0:0:0:0:0:0:1 [2017-08-01 11:44:14.587] nZLhaXQUWU-bs-mb "OPTIONS /application/getMapEntry HTTP/1.1" 200 24 195 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
ERROR  [2017-08-01 13:44:21.169] 1GYByXsrO4-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-28 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Redis server response timeout (5000 ms) occured for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY] channel: [id: 0xf027d973, L:/<IP_ADDRESS>:53351 - R:elasticache-single-node.cache.amazonaws.com/<IP_ADDRESS>:6379]
	at org.redisson.command.CommandAsyncService$10.run(CommandAsyncService.java:646)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)
0:0:0:0:0:0:0:1 [2017-08-01 11:44:21.203] 1GYByXsrO4-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

ERROR  [2017-08-01 13:44:36.256] o9IxDBzOWH-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-22 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Command execution timeout for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY]
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:537)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)
0:0:0:0:0:0:0:1 [2017-08-01 11:44:36.260] o9IxDBzOWH-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

ERROR  [2017-08-01 13:44:52.555] GlXZsCQSbm-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-24 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Command execution timeout for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY]
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:537)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)
0:0:0:0:0:0:0:1 [2017-08-01 11:44:52.558] GlXZsCQSbm-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

ERROR  [2017-08-01 13:45:08.052] EyjPsKioBi-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-28 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Command execution timeout for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY]
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:537)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)
0:0:0:0:0:0:0:1 [2017-08-01 11:45:08.055] EyjPsKioBi-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

ERROR  [2017-08-01 13:45:26.053] KTC3iDGgoq-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-22 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Command execution timeout for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY]
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:537)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)
0:0:0:0:0:0:0:1 [2017-08-01 11:45:26.055] KTC3iDGgoq-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

ERROR  [2017-08-01 13:45:40.655] 5iwxm35geY-bs-mb [MAP_ENTRY_KEY/wojciech] [dw-24 - POST /application/getMapEntry] RuntimeExceptionMapper - Runtime exception caught.
org.redisson.client.RedisTimeoutException: Command execution timeout for command: (HGET) with params: [RLocalCachedMap, MAP_ENTRY_KEY]
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:537)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:748)

0:0:0:0:0:0:0:1 [2017-08-01 11:45:40.657] 5iwxm35geY-bs-mb "POST /application/getMapEntry HTTP/1.1"<PHONE_NUMBER> "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

After all those checks there was an error:
ERROR  [2017-08-01 13:45:48.930]  [/] [redisson-netty-1-2] CommandsQueue - Exception occured. Channel: [id: 0xf027d973, L:/<IP_ADDRESS>:53351 - R:elasticache-single-node.cache.amazonaws.com/<IP_ADDRESS>:6379]
java.io.IOException: Operation timed out
	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)

And it started working again:
INFO   [2017-08-01 13:45:48.931]  [/] [redisson-netty-1-2] RedisConnectionListener - Disconnecting from: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:45:49.012]  [/] [redisson-netty-1-2] RedisConnectionListener - Connecting to: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:46:19.277]  [/] [redisson-netty-1-2] RedisConnectionListener - Disconnecting from: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:46:19.412]  [/] [redisson-netty-1-2] RedisConnectionListener - Connecting to: [hostString=elasticache-single-node.cache.amazonaws.com]

0:0:0:0:0:0:0:1 [2017-08-01 11:46:38.501] 9Q9p7U6nUJ-bs-mb "POST /application/getMapEntry HTTP/1.1" 201 75 309 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
0:0:0:0:0:0:0:1 [2017-08-01 11:46:42.323] HK0PblXzrB-bs-mb "POST /application/getMapEntry HTTP/1.1" 201 75 57 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

INFO   [2017-08-01 13:47:13.282]  [/] [redisson-netty-1-2] RedisConnectionListener - Disconnecting from: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:47:13.414]  [/] [redisson-netty-1-2] RedisConnectionListener - Connecting to: [hostString=elasticache-single-node.cache.amazonaws.com]

0:0:0:0:0:0:0:1 [2017-08-01 11:47:31.499] Jf0s0MoTpZ-bs-mb "POST /application/getMapEntry HTTP/1.1" 201 75 48 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
0:0:0:0:0:0:0:1 [2017-08-01 11:47:39.982] zXnZEXwyXk-bs-mb "POST /application/getMapEntry HTTP/1.1" 201 75 47 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

INFO   [2017-08-01 13:48:10.207]  [/] [redisson-netty-1-2] RedisConnectionListener - Disconnecting from: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:48:10.327]  [/] [redisson-netty-1-2] RedisConnectionListener - Connecting to: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:48:41.721]  [/] [redisson-netty-1-2] RedisConnectionListener - Disconnecting from: [hostString=elasticache-single-node.cache.amazonaws.com]
INFO   [2017-08-01 13:48:41.811]  [/] [redisson-netty-1-2] RedisConnectionListener - Connecting to: [hostString=elasticache-single-node.cache.amazonaws.com]

The last two logs were repeating continuously.
The weird thing for me I didn't have those logs before and they stopped occurring with exception:
WARN   [2017-08-01 14:50:15.107]  [/] [redisson-netty-1-1] ConnectionWatchdog - Can't connect RedisConnection@481029080 [redisClient=[addr=elasticache-single-node.cache.amazonaws.com/<IP_ADDRESS>:6379], channel=[id: 0x7f3a3320, L:<IP_ADDRESS>/<IP_ADDRESS>:53777]] to elasticache-single-node.cache.amazonaws.com/<IP_ADDRESS>:6379
org.redisson.client.RedisTimeoutException: Command execution timeout for elasticache-single-node.cache.amazonaws.com/<IP_ADDRESS>:6379
	at org.redisson.client.RedisConnection$2.run(RedisConnection.java:212)
	at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:120)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)

The exception happened after my computer fell asleep.

I think it would be best to implement some sort of keep alive (tcp level or Redis PING called repeatedly) feature as Redisson / Netty is probably unaware of problem with connections as they are closed from the other side and Redisson / Netty were not present at time of disconnection. I've tried to find an option that may control the behaviour of connections, but I haven't found it. I think it may affect in-use and idle (including those from minimal idle pool) connections.

any news? catch it again(

@wsz87 @z0mb1ek I have created a separate issue for this PING feature request https://github.com/redisson/redisson/issues/1088

So we can still replicate this issue quite easily
When running redis behind nat and killing the server that redis is on which causes  netty to still think the link is up.
redisson --- NAT IP --- redis
then kill redis server
redisson -- NAT IP xxx redis
This causes netty to still think redis is up and in turn redisson will throw Timeout exceptions
even if redis is up again as a reconnect doesnt happen
An example of this is if running redis in kubernetes

Seems like the new Ping feature isn't working for us in the NAT case.

@mrniko is keep alive configured in Netty? ChannelOption.SO_KEEPALIVE, true

@johnou
Seems Redisson connected to some middle host not to Redis host directly.

@mrniko I think regardless this should be considered for applications connecting to Redis behind NAT..
    private Bootstrap createBootstrap(RedisClientConfig config, Type type) {
        Bootstrap bootstrap = new Bootstrap()
                        .channel(config.getSocketChannelClass())
                        .group(config.getGroup())
                        .remoteAddress(addr);

        bootstrap.handler(new RedisChannelInitializer(bootstrap, config, this, channels, type));
        bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, config.getConnectTimeout());
        bootstrap.option(ChannelOption.SO_KEEPALIVE, true); // **************
        return bootstrap;
    }

aha cool, it has already been added in a later version of Redisson.
        bootstrap.option(ChannelOption.SO_KEEPALIVE, config.isKeepAlive());

@tobad357 try to enable keepalive and see how that goes..
ReplicatedServersConfig clusterConfig = config.useReplicatedServers(); // your server config might be instantiated differently.
clusterConfig.setKeepAlive(true);

We tried this
useSingleServer with.setPingConnection(true)
            .setKeepAlive(true)
            .setTcpNoDelay(true)

And still get the same issue

Seems Redisson connected to some middle host not to Redis host directly.
@tobad357 Am I right?

@mrniko basically how Kubernetes works is that redis is behind NAT
When you deploy a container/pod to kubernetes it gets a IP on the POD network and then a stable IP on a service network
When a pod gets redeployed it gets a new IP but the SVC IP stays the same.
Kubernetes then uses IPTABLES to NAT the connection between SVC IP and the POD IP
The IPTABLES will be updated if POD IP changes
So technically it is as if Redisson is connecting to a FW who in turn forwards the traffic to redis.

I have introduced pingConnectionInterval setting. Please use it


Update dependencies and fix ignore files

This PR contains 2 commits:

fixes .eslintignore and .retireignore (they referred to old folder names).
updates ESLint and Mocha versions to the latest.

@stelcheck gave this an "LGTM" over chat.


Feat/update terminal page

All javascript! :'(
In this PR, I just adjust the terminal page with my partner Sonnet. ;)
There are 4 things changed.
1. Beautify terminal page

2. Fix search bar and dropdown menu

3. Search status can be seen in the UI

4. Use modal to replace SweetAlert to pop up service key

@h-alice Write the style "ONE BY ONE" 🥲
I'm considering rewriting the frontend with a different framework, such as NextJS, but that might have to wait until next time. ;)


v0.2.1

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/63379
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.1 -m "<description of version>" b151553b1c528a6ee0f499baf469039642de91cb
git push origin v0.2.1


Improve utilities for gwctl describe and add more info to gateway descriptions

What type of PR is this?

What this PR does / why we need it:

Add helpers to print gwctl describe views and Tables
Add information when describe Gateways (like attached routes)

Pending: Add events associated with Gateway (will try to commit separately and keep this PR small)

Example:
❯ gwctl describe gateways
Name: demo-gateway-1
Namespace: default
Labels: null
Annotations:
  kubectl.kubernetes.io/last-applied-configuration: |
    {"apiVersion":"gateway.networking.k8s.io/v1beta1","kind":"Gateway","metadata":{"annotations":{},"name":"demo-gateway-1","namespace":"default"},"spec":{"gatewayClassName":"foo-com-external-gateway-class","listeners":[{"name":"http","port":80,"protocol":"HTTP"}]}}
APIVersion: gateway.networking.k8s.io/v1
Kind: Gateway
Metadata:
  creationTimestamp: "2024-04-03T04:27:12Z"
  generation: 1
  managedFields:
  - apiVersion: gateway.networking.k8s.io/v1beta1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:kubectl.kubernetes.io/last-applied-configuration: {}
      f:spec:
        .: {}
        f:gatewayClassName: {}
        f:listeners:
          .: {}
          k:{"name":"http"}:
            .: {}
            f:allowedRoutes:
              .: {}
              f:namespaces:
                .: {}
                f:from: {}
            f:name: {}
            f:port: {}
            f:protocol: {}
    manager: kubectl-client-side-apply
    operation: Update
    time: "2024-04-03T04:27:12Z"
  resourceVersion: "187600"
  uid: 034c4490-6b0d-41f0-8d90-3948dbae4b6c
Spec:
  gatewayClassName: foo-com-external-gateway-class
  listeners:
  - allowedRoutes:
      namespaces:
        from: Same
    name: http
    port: 80
    protocol: HTTP
Status:
  conditions:
  - lastTransitionTime: "1970-01-01T00:00:00Z"
    message: Waiting for controller
    reason: Pending
    status: Unknown
    type: Accepted
  - lastTransitionTime: "1970-01-01T00:00:00Z"
    message: Waiting for controller
    reason: Pending
    status: Unknown
    type: Programmed
AttachedRoutes:
  Kind       Name
  ----       ----
  HTTPRoute  default/demo-httproute-1
  HTTPRoute  default/demo-httproute-2
  HTTPRoute  default/demo-httproute-3
  HTTPRoute  ns2/demo-httproute-4
DirectlyAttachedPolicies:
  Type                       Name
  ----                       ----
  HealthCheckPolicy.foo.com  default/demo-health-check-1
  RetryOnPolicy.foo.com      default/demo-retry-policy-1
EffectivePolicies:
  HealthCheckPolicy.foo.com:
    sampleParentField:
      sampleField: hello
  RetryOnPolicy.foo.com:
    sampleParentField:
      sampleField: namaste
  TimeoutPolicy.bar.com:
    timeout1: parent
    timeout2: child
    timeout3: parent
    timeout4: child

Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

NONE

/cc @mlavacca

Thanks @gauravkghildiyal!
/lgtm


#162 Hotfix tidy build path from downloaded

In addition I created a new PathJoin method so we can be sure that every path in the application are constructed the same way


Bug: Remove bucket_versioning and bucket_force_destroy from bastion linux module

Expected Behavior
TFlint is failing because bucket_versioning and bucket_force_destroy are declared but not used:
https://github.com/ministryofjustice/modernisation-platform-terraform-bastion-linux/actions/runs/7742030400/job/21110231383?pr=350
Actual Behavior
These should be removed from the module, please note this is a breaking change, and the environments repo will need to be updated to remove references to these variables.
Steps to Reproduce the Problem

Run TFlint in the module

Version
No response
Modules
No response
Account
No response

Unit Test has run after removing some of the 100+ buckets in testing-test and clearing down IAM resources that had not been created by previous runs but which had not been cleared. Will now complete the PR and create a new release.


Behavior of unhealthy threshold with v2 is different from v1.

I found that when health probe was failed in AppGW v2, next probe was sent after 30s interval. I think the following sentence in this document is only v1 SKU.  Could you revi
"These additional health probes are sent in quick succession to determine the health of the backend quickly and don't wait for the probe interval. "

@hisasima : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


[Feature Request] Forge integration

Currently Desktop Client only works with Foundry login.  Integration to be able to login to worlds using Forge's game manager as well would be fantastic.

moved to https://github.com/OmegaRogue/fvtt-player-client, project mantained by new user


The videos help me a lot!

Hi Mr Sambol, i just wanna say thanks to you 'cause your videos and codes help me a looooot! Appreciate!

@420313439 Glad they helped! Thank you for watching.


Initialization BOOL property of AFHTTPRequestSerializer

AFHTTPRequestSerializer class has two BOOL properties, allowsCellularAccess and HTTPShouldHandleCookies, who's default value is YES. But in initmethod of AFHTTPRequestSerializer class, there have not set those value to YES.
So, when I read value of those properties, I got NO not YES.

Why would you want to read the those values in the first place?

In my setting page, I want add a UISwitch control to show whether allow to use cellular network, user can also setting this value by the way. I read allowsCellularAccess property to init this switch control's status.


[BUG] DeltaTable.details() not exist in v2.0.x

Bug
Describe the problem
Source code at $delta/examples/scala/src/main/scala/example/Utilities.scala is out of date.
// not exist at v2.0.1, should remove
deltaTable.details().show()

Environment information

Delta Lake version: 2.0.1
Spark version: 3.2.1
Scala version: 2.13.8

Steps to reproduce

1, cd examples/scala
2, run ./build/sbt

details function was requested in #1188 . and i am seeing it was merged (https://github.com/delta-io/delta/commit/5b214dd5456fac5a99aea8f8b782a37290d17165) yesterday.
i think it's not a bug .
can build the latest snapshot of delta lake and try to run the example again .

I checked the master's source code, found this method. It since 2.1.0, so I used wrong version.
  /**
   * Get the details of a Delta table such as the format, name, and size.
   *
   * @since 2.1.0
   */
  def details(): DataFrame = {
    executeDetails(deltaLog.dataPath.toString, table.getTableIdentifierIfExists)
  }

thanks a lot @sherlockbeard.


README: Basic Example is misleading/wrong

The basic example in the README file is referencing a function swagger.parser.parse but it should really be parser.parse as described further down. It would also be nice to have the one line require call as well, since referencing variables which aren't declared in an example without comments needlessly obfuscates things.
The section "The API" is also referring to swagger when it really means swaggerPath.

Hmmm... I see the potential problem there, but I'm not sure the best way to address it.  My intent with the "basic example" is to show a short code snippet that demonstrates the basic usage of Swagger Parser regardless of whether you're using it via Node, Bower, or AMD.  That's why it doesn't include a require() call.   In the next section, I show code samples that are specific to Node, Bower, and AMD.
Maybe I should just delete the "basic example" section altogether, and show a full code sample in each of the Node, Bower, and AMD sections instead.   What do you think?

Maybe I should just delete the "basic example" section altogether, and show a full code sample in each of the Node, Bower, and AMD sections instead. What do you think?

I think this sounds sensible, as it will be correct for the given platform/framework rather than being a generalised example which doesn't quite work for any. The API just isn't complicated enough to warrant a single generalised version to save space. It wouldn't be as big of a problem if it weren't so prominent as it is the very first code snippet indicating how to use it. From what I have seen though, this is one of the best Swagger 2.0 validators I've come across.

Done!


Optionally print response body/text on failure

If I get a wrong status code back from a controller, it'd be nice if supertest had an optional 'print response body on failure' mode so I can see the content of the message associated with that wrong status code. Currently you have to go in and manually add additional debugging into like: .expect(200, function() { console.log(arguments); done(); }) every time a test starts failing.
Another option might be to be smarter about generating the Error response in supertest, e.g. parsing the res.body and (optionally) jamming that into the error message. It could even somehow do some specialcase handling of the default connect error handler to populate the stack trace (if that's even possible).

+1

+1. Some default option to enable failed requests logging would be very helpful

+1 please!!

+1. Or can someone show us how to console.log when .expect(statusCode) fails?

I literally can't believe this essential feature hasn't been implemented. i'll add a pull request for it. the overhead of not having it is too great.

+1

I need this constantly. It's especially bad when a test seems to only fail sometimes.

If anyone stumbles upon this and wonders how to log at all. Appending this to your test case logs if an error occurs and rethrows the error via done.
        .end((err, res) => {
          if (err) {
            console.error(res.error);
          }
          done(err);
        });

If anyone is still looking for a way to do this with Promises here's how I did it. According to the readme, "Expectations are run in the order of definition.", so I just created an expection before the expect(statusCode) that checks if the res is the correct statusCode, and if not prints out the body.
For example:
request(server)
  .get(endpoint)
  .query(query)
  .set('Accept', 'application/json; charsaet=utf-8')
  .expect(function(res) {
    if(res.status != statusCode){
      console.log(JSON.stringify(res.body, null, 2));
     }
  })
  .expect(statusCode);

I was looking for a solution to the same problem, and ended up making a VS Code snippet that would insert the following one-liner in my chain, for status code 204, as an example:
.expect((res) => (res.status != 204 ? console.log(res.body) : 0))

Similar to @strujillojr's suggestion. My response body is already a JSON payload.

If you want something reusable, this what I did which is inspired by C# extension methods:
import supertest from 'supertest';

(supertest as any).Test.prototype.expectOrPrint = function (
  this: supertest.Test,
  statusCode: number
) {
  this.expect((res) => {
    if (res.status !== statusCode) {
      console.error(JSON.stringify(res.body, null, 2));
    }
  });
  this.expect(statusCode);
  return this;
};

declare module 'supertest' {
  interface Test {
    expectOrPrint: (statusCode: number) => Test;
  }
}

and then you can use it like this:
await request
  .post('/api/v1/graphql')
  .send({
    query: `{
      contacts(
        first: 1
      ) {
        id, firstName
      }
    }`,
  })
  .expectOrPrint(401);

Actually, one problem with that solution (and previous solutions mentioned) is that the response body is not printed along-side the expect failure. Depending on how many tests there are and/or how many of those are failing, it's quite difficult to find the corresponding response body. I made the following modification which essentially replaces expect:
import supertest from 'supertest';
import status from 'statuses';

(supertest as any).Test.prototype.expect = function (
  this: supertest.Test,
  statusCode: number
) {
  this.then((res) => {
    if (res.status !== statusCode) {
      let message = `expected ${statusCode} "${status(statusCode)}", got ${res.status} "${status(res.status)}"
response: ${JSON.stringify(res.body, null, 2)}`;
      throw message;
    }
  });
  return this;
};

With this, doing a normal .expect(402) would print out something like the following:

Solition by @rhyek doesn't seem to work for me. All tests fill pass even if status codes do not match. Modified to following:
import supertest from 'supertest';
import status from 'statuses';

(supertest as any).Test.prototype.expect = function (
  this: supertest.Test,
  statusCode: number
) {
  return this.then((res) => {
    if (res.status !== statusCode) {
      const message = `expected ${statusCode} "${status(statusCode)}", got ${res.status} "${status(res.status)}"
response: ${JSON.stringify(res.body, null, 2)}`;
      throw message;
    }
    return this;
  });
};

I found the above solutions limiting in terms of allowing chained expect calls, so I found an alternative that alters the assert method on the prototype instead, s.t. you are effectively hard-coding the end logic.
import supertest from 'supertest';

declare module 'supertest' {
  interface Test {
    _assert(this: supertest.Test, resError: Error, res: supertest.Response, fn: Function)
  }
}

Object.defineProperties((supertest as any).Test.prototype, {
  '_assert': {
    value: (supertest as any).Test.prototype.assert,
  },
  'assert': {
    value: function (this: supertest.Test, resError, res, _fn) {
      // Hard-code the "end" function to print response information on error.
      this._assert(resError, res, (err, res) => {
        if (err) {
          throw new Error(`${err.message}\nstatus: ${res.status}\nresponse: ${JSON.stringify(res.body, null, 2)}`);
        }
      });
    }
  }
});

The advantage of this approach is:

The ability to chain calls as normal (e.g., multiple expect calls).
Not needing to overwrite or rewrite the existing expect assertion logic.
The disadvantage is the inability to use end. However, if you were already using promises, this should be a non-issue.

This results in error messages such as the following, which is output from a test that failed a response body checker.
Error: expect(received).toInclude(expected)

Expected string to include:
  "GraphQL is stopping"
Received:
  "GraphQL is running development server."
status: 200
response: {
  "data": {
    "hello": "GraphQL is running development server."
  }
}

I found the above solutions limiting in terms of allowing chained expect calls, so I found an alternative that alters the assert method on the prototype instead.
import supertest from 'supertest';

declare module 'supertest' {
  interface Test {
    _assert(this: supertest.Test, resError: Error, res: supertest.Response, fn: Function)
  }
}

Object.defineProperties((supertest as any).Test.prototype, {
  '_assert': {
    value: (supertest as any).Test.prototype.assert,
  },
  'assert': {
    value: function (this: supertest.Test, resError, res, fn) {
      this._assert(resError, res, (err, res) => {
        if (err) {
          throw new Error(`${err.message}\nstatus: ${res.status}\nresponse: ${JSON.stringify(res.body, null, 2)}`);
        }
        fn.call(this, err, res);
      });
    }
  }
});

This approach has the advantages of:

The ability to chain calls as normal (e.g., multiple expect calls).
Not needing to overwrite or rewrite the existing expect assertion logic.

This results in error messages such as the following, which is output from a test that failed a response body checker.
Error: expect(received).toInclude(expected)

Expected string to include:
  "GraphQL is stopping"
Received:
  "GraphQL is running development server."
status: 200
response: {
  "data": {
    "hello": "GraphQL is running development server."
  }
}

All-in-all, I'd still love some ability to configure supertest to allow for automatic response printing on error.

solution proposed by @andrewtran1995 wasn't working for us so we decided to use following snippet
Object.defineProperties((supertest as any).Test.prototype, {
  '_assertStatus': {
    value: function (this: supertest.Test, status, res) {
      if (res.status !== status) {
        const a = http.STATUS_CODES[status];
        const b = http.STATUS_CODES[res.status];
        return new Error(`expected ${status} "${a}", got ${res.status} "${b}" \nresponse: ${JSON.stringify(res.body, null, 2)}`);
      }
    }
  }
});

solution proposed by @andrewtran1995 wasn't working for me either and after debugging I found out that the error stack trace was being logged, so just needed to replace the message from the stack  and it work!
import supertest from 'supertest';

declare module 'supertest' {

  interface Test {

    _assert(this: supertest.Test, resError: Error, res: supertest.Response, fn: Function)

  }

}

Object.defineProperties((supertest as any).Test.prototype, {

  '_assert': {

    value: (supertest as any).Test.prototype.assert,

  },

  'assert': {

    value: function (this: supertest.Test, resError, res, fn) {

      this._assert(resError, res, (err, res) => {

        if (err) {
          const originalMessage = err.message;

          err.message = `${err.message}\nstatus: ${res.status}\nresponse: ${JSON.stringify(res.body, null, 2)}`;
          err.stack = err.stack?.replace(originalMessage, err.message);

        }

        fn.call(this, err, res);

      });

    }

  }

});

I'd like a feature like this as well.
ReactTesting library does something similar with screen.debug() https://testing-library.com/docs/queries/about#screendebug

Here is what I use. This one also corrects stack trace.
 .expect(result(201));

function result(status: number): request.CallbackHandler {
  const s = new Error().stack.split('\n');
  s.splice(1, 1);

  return (err: any, res: request.Response) => {
    if ((res?.status || err.status) != status) {
      const e = new Error(
        `Expected ${status} ,got ${res?.status || err.status} resp: ${
          res?.body ? JSON.stringify(res.body) : err.text
        }`,
      );
      e.stack = e.stack
        .split('\n')
        .splice(0, 1)
        .concat(s) // Remove this line not to show stack trace
        .join('\n');
      throw e;
    }
  };


Image Url

Here, I am trying to take image URL using Picasso library

Please check it

Its good to use image url rather than copying image in drawable folder.


Add CNCF project governance

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Adding the required governance for the project to become part of the CNCF.
Which issue(s) this PR fixes:

Refers to #240
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 29.16%. Comparing base (57570dd) to head (6828823).
Report is 68 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #244      +/-   ##
==========================================
+ Coverage   26.61%   29.16%   +2.55%
==========================================
  Files          24       26       +2
  Lines        2788     3168     +380
  Branches     1516     1673     +157
==========================================
+ Hits          742      924     +182
- Misses        948     1023      +75
- Partials     1098     1221     +123

PTAL @cgwalters @flavio @thomastaylor312 @utam0k @yihuaf @jprendes @Furisto @YJDoc2

Ah! Slightly too late, sorry! 😅
I'll create a PR.

Thank you @jprendes! :pray:


Add documentation about using GraphQLQueryWatcher with mutations

Ref https://github.com/apollographql/apollo-ios/issues/3472

@damian0815: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/

🛠 Docs Preview Building...

Configuration
{
  "repoOverrides": {
    "apollographql/apollo-ios-dev@main": {
      "remote": {
        "owner": "damian0815",
        "repo": "apollo-ios-dev",
        "branch": "patch-1"
      }
    }
  }
}

64ecf2a3e145094bc8a521aad6d268b1c9776ef1

Going to merge this despite the Docs Preview check failing; I believe that is because it's on a fork. Once merged I'll double-check the published change.

oh @calvincestari I see you merged it already. I'm not sure this is sufficient - the documentation about "normalized cache" in the link you've added is ambiguous about whether Apollo iOS already implements cache normalization. My reading of this document that led to my error with the cache keys not overlapping was, indeed, that Apollo iOS is already normalizing cache keys for me, so there's nothing further for me to do - which is why I was stumped when it didn't work the way I was expecting.
On closer inspection there's a sentence "if properly configured" in the introduction, but without a link to SchemaConfiguration.swift the reader can't really make much use of that statement. Should I open another PR with my suggestion for improvement in that document directly?

https://github.com/apollographql/apollo-ios-dev/pull/547

thank you that's better yes!


K Star + SolarmanPV

Hi, I have solar panels and a battery from Kstar. I use SolarmanPV, I see all the info via the app and website. I am trying to make the home_assistant_solarman work via HA. I have linked the IP as described in the manual, but I do not receive any data. Is there anyone who can help me on my way?
Thanks in advance , Tom

Hello @thhomesystem
There is a new inverter definition for KStar in https://github.com/StephanJoubert/home_assistant_solarman/blob/main/custom_components/solarman/inverter_definitions/kstar_hybrid.yml, but it has not been releaset yet. The PR is here in case you want to read all discussion about it.
You may try it selecting "custom_parameters.yaml" and manually pushing the inverter file.

Yes , it is working now, last update did thé trick


fix(table): correct isPageSelected logic

fix(table): prevent 'isPageSelected' from returning true when no recordsEnsure that 'isPageSelected' computed property correctly handles the case
where there are no records in the table. It now returns false instead of
potentially evaluating to true due to the empty array every() call returning
true. This change aligns the behavior with the expected logic.

Thanks!


emmet BEM customization via emmet.preferences

VSCode Version: 1.15.1
OS Version: Windows10

can not expand BEM in html
bem  in emmet.preferences  dose not work

Reproduces without extensions: Yes

@NewFuture Can you share how you are expecting bem to work?
Adding the |bem at the end of the abbreviation works in the below example

@ramya-rao-a  thanks for your reply.
I prefer it to be configurable.
Just like the previous version
{
   "emmet.syntaxProfiles": {
        "html": {
            "filters": "html, bem"
        }
    }
}

@NewFuture That is tracked in #33601. Closing this issue as duplicate.
I just added support for filters from the emmet.sytnaxProfiles setting yesterday.
You can try it out in our latest Insiders which you can get from https://code.visualstudio.com/insiders
Note that at present we support only the bem and c filters
Do you use the bem.elementSeparator and bem.modifierSeparator under emmet.preferences?
If yes, then what are the values you set them to?

great 👍
We use the  emmet.preferences to config  bem
    "emmet.preferences": {
        "bem.elementSeparator": "-",
        "bem.modifierSeparator": "_",
        "bem.shortElementPrefix": "-"
    }

but it seems not work now.

The default bem settings work, but the customizations don't. I'll look into it.

In the latest Insiders, the bem customizations from emmet.preferences are used by Emmet 2.0
Found an issue upstream when trying to customize the modifier though. Logged https://github.com/emmetio/html-transform/issues/4

@NewFuture I need some help testing the bem customizations. We have some trouble in getting signed bits at the moment and so no Insiders builds are out. If you can share your OS details, then I can give you the link to the unsigned Insider bits which you can test

@ramya-rao-a thank you. And what do the OS details contain?

@NewFuture Oh I just want to know if you are on Windows or Mac or Linux, so that I can give you the right links. I might have as well just given all links. Here they are
Win 64: https://az764295.vo.msecnd.net/insider/7ac1f1e05baad03d4dd8f8515f1e598180b2c97e/VSCodeSetup-x64-1.17.0-insider-unsigned.exe
Win 32: https://az764295.vo.msecnd.net/insider/7ac1f1e05baad03d4dd8f8515f1e598180b2c97e/VSCodeSetup-ia32-1.17.0-insider.exe
Mac: https://az764295.vo.msecnd.net/insider/7ac1f1e05baad03d4dd8f8515f1e598180b2c97e/VSCode-darwin-insider-unsigned.zip
Linux Deb 64: https://az764295.vo.msecnd.net/insider/7ac1f1e05baad03d4dd8f8515f1e598180b2c97e/code-insiders_1.17.0-1506717283_amd64.deb
Linux rpm 64: https://az764295.vo.msecnd.net/insider/7ac1f1e05baad03d4dd8f8515f1e598180b2c97e/code-insiders-1.17.0-1506717444.el7.x86_64.rpm
You bem settings from emmet.preferences should work now.

If you are on Windows, then new builds for Insiders are now out.
You should be able to update by restarting vs code or get it from https://code.visualstudio.com/insiders

got it, thanks.
It works now 👍


Update README regarding how Swagger docs are generated

In README.md there's a section about how the Swagger docs are generated (https://github.com/ral-facilities/datagateway-api#generating-the-swagger-spec-openapiyaml).
This currently still talks about src/swagger/swagger_generator.py as the generation script. Since #124, Swagger doc generation has changed from the generation script to having spec.path() where a resource is added to the API (examples in src/main.py).
In addition to this section of the docs, the project structure tree should also be updated to reflect the removal of swagger_generator.py (and any other file changes that have been made along the way, like common/backend.py).

The PR associated with this issue has been reviewed and merged, but because it hasn't been merged into master, it hasn't been closed automatically, but the work for this issue has been completed.


WIP: Generate server API stubs

Builds on https://github.com/fsprojects/SwaggerProvider/pull/92
Goals

[ ] Generate request input type (include HttpRequestMessage property to allow more control)

[ ] Correct deserialization based on Content-Type (How far should we go? And do we expose the raw body Stream for greater control?)

[ ] Generate response output type (include ResponseHeaders property to allow more control)

[ ] Correct serialization based on specified return type
[ ] Return type hierarchy for multiple return types based on status code (e.g. PUT /pet)
[ ] Return type with escape hatch accepting raw HttpResponseMessage

[ ] Support IgnoreControllerPrefix (e.g. quasi-controllers registering their routes on a shared Handler instance)
[ ] Switch between Task/Async based on TP parameter
[ ] Switch between Nullable/Option based on TP parameter

Stretch goals

[ ] parameter validation
[ ] security - how? ClaimsPrincipal required?
[ ] content negotiation based on Accept headers

@panesofglass you should retarget this to the dev branch to get rid of the majority of changes. That's where the 1.0 work is happening.

@baronfel excellent point! Should I also re-open this against the main repo? I thought I would wait until I actually had something worthwhile to make sure it was wanted.

I think keeping it here is fine for now, I just wanted to cut down the commit noise as much as possible.


Bug: If query result returns 0 rows, don't show "showing 1 of 0 pages"

This should be fixed in the latest release


Türk Anime: No results found for existing anime

Source information and language
Türk Anime TV: 13.2
Steps to reproduce

Install Türk Anime TV
Open the extension
Try searching "Mashle"

Expected behavior
It should show results for "Mashle" it exists on the website.
Actual behavior
It doesn't show "Mashle" and some other anime.(Like, Otonari no Ginga) even tho they're in the website.

(Ep 4 of Mashle)
Aniyomi version
<IP_ADDRESS>
Android version
Android 11
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version <IP_ADDRESS>
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

still no updates?

mashl yazınca çıkıyor

Son eklenti güncellemesiyle birlikte çözülmüş gibi görünüyor.
It seems like it has been fixed with the latest extension update.

@toprak Sizde de düzeldi mi efenim?

@kyoyacchi aynen duzelmis pinglemesen farketmeyecektim :D


Fix UpgradeDependencyVersion handling of exactVersion with versionPattern

What's changed?

Add new VersionComparator implementation: ExactVersionWithPattern
Add ExactVersionWithPattern to SemVer validation chain
Add tests

What's your motivation?

Issue https://github.com/openrewrite/rewrite/issues/4333

Anything in particular you'd like reviewers to focus on?

Because SemVer is in rewrite-core, any change there has a greater risk (i.e. a larger "blast radius" in case of a bug) since it is used in other places other than the Gradle UpgradeDependencyVersion recipe.
Have you considered any alternatives or workarounds?

Yes, A workaround for this issue is to specify the "version pattern" as part of the newVersion (e.g. "newVersion: '32.1.1-jre'").
Also, It may be possible to fix this issue in a more limited way inside rewrite-gradle/src/main/java/org/openrewrite/gradle/DependencyVersionSelector.java
Although it would still probably require adding a new VersionComparator implementation (since ExactVersion doesn't take into account the versionPattern)
Any additional context

Technically, this issue may not be considered a bug, and the current behavior may be what the original authors have intended.
However, as a user, I find it a bit unintuitive that an XRange newVersion with a versionPattern (e.g. "32.1.X", "-jre") behaves as expected, while an exact version (e.g. "32.1.1", "-jre") does not.
So by the "principle of least surprise" I would expect ("32.1.1", "-jre") to behave similar to ("32.1.X", "-jre")
(Or fail recipe validation with "versionPattern cannot be specified with an exact version" or a similar message).
But I may be misunderstanding the code or the documentation.
Checklist

[X] I've added unit tests to cover both positive and negative cases
[X] I've read and applied the recipe conventions and best practices
[X] I've used the IntelliJ IDEA auto-formatter on affected files

Thanks for the work here @gideon-sunbit ! At first glance this looks good; I want to take a closer look after I get back home Sunday before a merged though. I'll keep you posted!

Great start @gideon-sunbit ; probably much like yourself I'm mostly wondering why the ExactVersion class does not handle metadata patterns already. I'm wondering if that might be the better approach here, seeing how we have explicit handling for ExactVersion in a number of places, to stop resolving versions against external sources. 🤔
https://github.com/openrewrite/rewrite/blob/14aef405998f4a07a034c7b87deb3d359b3bb0ae/rewrite-maven/src/main/java/org/openrewrite/maven/RemoveRedundantDependencyVersions.java#L299-L302
https://github.com/openrewrite/rewrite/blob/14aef405998f4a07a034c7b87deb3d359b3bb0ae/rewrite-maven/src/main/java/org/openrewrite/maven/AddDependencyVisitor.java#L190-L194
I'll see what the impact would be if we instead add a pattern field to ExactVersion...

The more I look at this the more it's clear you've provided a well measured approach to handling a potentially regex metadata pattern. Thanks!


Avoid asking for principalId (objectId) when asking for a system assigned managed identity token

principalId   is not required to get a system assigned managed identity token.
I understand that it is required as username ofr redis, still it can be extracted from the JWT token (it is the oid claim).
It's a pain in my case to put this info in the settings since I have an azure web app with deployment slots, and each slot has it's own principalId   :(

Thanks for the suggestion - this was also brought up in https://github.com/Azure/Microsoft.Azure.StackExchangeRedis/issues/2#issuecomment-1596511332
We're planning to eliminate the requirement for passing the 'username' in an upcoming release of the extension.

thank you for your reply.
Is there any ETA for this ? Shall it be maybe available in the final release of 8.0 ?

I expect it'll be released in the next couple of months, independent of .NET 8.0

Update: we weren't able to eliminate the requirement for PrincipalId/UserName in the recent 2.0.0 release, but I'm hoping we can get to it in a future release.

+1 on this. I read Majid's comment linked above and it sounds like requiring the MI object id is a limitation of the Azure Redis auth implementation. Is this targeted to be fixed before GA? Also, do you have an ETA for when this feature will go GA?

@shpathak-msft Do we have an ETA for parsing PrincipalId out of tokens on the server so clients don't need to pass both token and PrincipalId?

Any news on this?

In the meantime I used the following code, I guess others can do it too:
await options.ConfigureForAzureAsync(new AzureCacheOptions() { PrincipalId = "none", TokenCredential = _tokenCredential });
var jwt = options.Defaults.Password!;
var handler = new JwtSecurityTokenHandler();
var token = handler.ReadJwtToken(jwt);
var clientid = token.Payload["oid"].ToString();
options.User = clientid;

@MatanShabtay Thank you for that. I noted that it also work with just .Password. In F# something like this can be used:
let! connOptions =
    StackExchange.Redis.ConfigurationOptions.Parse(connStr)
        .ConfigureForAzureWithSystemAssignedManagedIdentityAsync "username-placeholder"
    |> Async.AwaitTask

// TODO: Remove when #17 is solved.
let redisUsername =
    connOptions.Password.Split "."
    |> Array.item 1
    |> Microsoft.IdentityModel.Tokens.Base64UrlEncoder.Decode
    |> System.Text.Json.JsonSerializer.Deserialize<{| oid : string |}>
    |> _.oid

connOptions.User <- redisUsername

let! conn = StackExchange.Redis.ConnectionMultiplexer.ConnectAsync connOptions |> Async.AwaitTask

Thank you all for your feedback and patience! I'm closing this issue now that principalId extraction was implemented in #48 and released in 3.0.0. Let us know if you have suggestions or see any issues.


Show broken links in network management

Motivation
We want a centralized overview of broken links.
Proposed Solution
Show the broken link checker in the network management. Add a column that shows how many regions are affected by the broken link. The table should be sortable by occurrences and region.
Alternatives

Additional Context

This feature helps OKR key resul tracking and finding links that affect multiple regions negatively. Therefore moved out of backlog.

Probably better to implement after #2539 and #2516

Not blocked anymore as #2539 was merged.


WIP: Make morphed source spaces easier

Need to:

[x] Get updated morphed source space from MNE-C into mne-testing-data, but still keep old one for testing
[x] Mimic old src versions in tests by removing newly added fields
[ ] Set SourceEstimate.vertices using vertno_ord
[ ] Ensure we don't require SourceEstimate.vertices to be sorted for anything
[ ] Write note in to_original_src that it's only needed for old source spaces
[ ] Add check in to_original_src that it does just sanity checks if new source spaces are used (or otherwise fix it)
[ ] Add tests for modern morphed source spaces in test_morphed_source_space_return
[ ] Update sample data
[ ] Update source-space morphing example not to use to_original_src

@agramfort I realized there is a problem with our grand plan. At the end if you do (using invs computed using srcs that have been morphed from fsaverage):
stc_1 = apply_inverse(evoked_subj_1, inv_subj_1)
stc_2 = apply_inverse(evoked_subj_2, inv_subj_2)

We do have that stc_1.data and stc_2.data are aligned properly.
However, if you do:
stc_sum = stc_1 + stc_2

The vertices will not be the same, and the stc.subject will not be the same, so it will fail our sanity checks.
Also, there is no guarantee that stc_1.data and stc_2.data will even have the same number of vertices (or worse, they might have the same number but will no longer be matched), since the BEMs for subject 1 and subject 2 might remove source space vertices from the source spaces used for subject 1 and subject 2.
So I wonder if what we should do is still advocate the use of to_original_src, which does set the subject name to the original source space's subject name, etc., and not bother with this reordering business (though we could still use it as a speedup / shortcut somewhere maybe).

hum....
yes mindist in forward will be a problem...
could we make the logic if subject changing earlier in the pipeline?
basically convert the forward to an fsaverage forward and then you would
get stcs with subject == fsaverage with apply_inverse?

could we make the logic if subject changing earlier in the pipeline?

I don' think so, we don't store the vertices of the original subject's source space so we can't make the fsaverage STC. Plus I think we want the option of viewing on the actual subject's surfaces, as well as fsaverage, which means we need a way to switch between the representations... which is exactly what to_original_src does.

hum... we need another call to brainstorm on this one.