Testing Thespian and facing a couple of issues

Thanks for releasing this great and promising project. We are still testing and doing some tests with Thespian and we are facing a couple of issues. We would like to know if we are using a good pattern.
Our current architecture.
We are using multiple Actor Systems, one master and several workers. Each of the actor system is located on different hosts and we are using the multiprocTCPBase base system.
We have two kind of actors:

a TaskManager located on the master. This actor is responsible of maintaining a pool of connected TaskExecutors and scheduling some tasks.
a TaskExecutor located on the worker. It is responsible of executing tasks.

When starting the master actor system, a TaskManager actor is created. The TaskManager is then listening at convention updates. On the worker side, the actor system is connecting to the master address and no actor is created.
When the TaskManager is notified that a new actor system is joining the convention, it is starting a new TaskExecutor on the remote actor system (this is done by using unique capabilities).
To unregister a TaskExecutor, we are using the ChildActorExited message. It is working as expected when a remote actor system is performing a graceful shutdown.
Maintaining a list of active workers.
We are facing some issues to maintain a list of active TaskExecutors. When a worker is killed, no convention update is received by the master, and no ChildActorExited message is received.
How could we detect that a remote actor system has been killed and that a child actor no longer exist? Could we list all the child actors on a remote actor system?
False convention updates.
From time to time, we received some false convention updates. From time to time, the master receives convention update regarding a worker leaving and joining straight after the convention. Is it an expected behaviour?
Creating other processes.
As said before, the role of the TaskExecutor is to execute tasks. Tasks are executed asynchronously by creating new processes (to avoid blocking the current actor system). According to the documentation it could result in unexpected behaviour. We noticed that while running a background task in a separate process most of the messages are delayed.
How could we deal with it?
Thanks for reading me and thanks again for your time.

I'm glad you are finding Thespian useful, and thank's for the kudos!
The architectural pattern you have chosen is one that I would recommend: we also use this pattern and we find that it works quite well overall (our environment is 9000+ remote systems, with typically 3-8 actors on each remote).
Worker Liveness
If I understand correctly, your first issue is that if a worker system is shutdown abruptly and cannot perform the graceful shutdown that the master system has no indication of this.  The convention membership does employ period keep-alive messages to detect when a remote is no longer responding, but this is set to missing 3 checkins that currently occur at about a 7m22s period, so you should receive the indications you are expecting, but only after about 22-23 minutes (the idea being that this is an unusual scenario so the keep-alive should not be unduly burdensome to the system).  Please let me know if this is not occurring, as this should be fixed.  I can see a couple of options for getting a faster indication:

Implement your own keep-alive (between TaskManager and TaskExecutor) with a shorter period and use that in addition to the ChildActorExited messages,
Update Thespian to make the period and retry count a configurable option.  This would involve modifications to the thespian/system/admin/convention.py module to override the CONVENTION_REREGISTRATION_PERIOD and CONVENTION_REGISTRATION_MISS_MAX values with optional capabilities in the ConventionMemberData.__init__().

I don't think option #2 is unreasonable, but I would like to confirm that this would resolve your issues first and I would like to think about the safeties involved in ensuring those don't become too intrusive,  You may want to manually adjust those constants to see if that achieves the results you would like to see and let me know what your results are.
False Convention Updates
The remote system and local system use the keep-alive messages to try to determine continuity of connection.  If the remote system is restarted, then when it first checks back in to the convention, there is functionality to determine that this is a new instance of the instead of just another checkin from a still-running instance.  In the case that the local system thinks that a new instance of the remote system is checking in, it will generate back-to-back convention updates to notification subscribers indicating that the remote has left and then rejoined; this is also an indication to the subscriber that any remote state must be re-established.
In addition, if the remote system's capabilities change (via an updateSystemCapabilities() call) then there will be a new registration and notification so that the new capabilities are observed.
If you think you are getting spurious notifications outside of the above scenarios I would like to work with you to understand the scenario better to find out why these are happening.  Also note that there is a bugfix release I expect to have out today or tomorrow and while none of the fixes are directly related to this behavior, you may see some improvement through side effects depending on your configuration.
Creating Other Processes
In general, you can think of the Actor base class as a wrapper around your receiveMessage() method, where the wrapper for the multiprocTCPBase does roughly the following pseudo-code:
while True:
    r = select.select()
    if r is sendable:
        socket.send(...)
    if r is receivable:
        message = socket.read()
        self.receiveMessage(message, ...)
        if isinstance(message, ActorExitRequest):
            sys.exit()

That's hugely oversimplified, but you can see that if the receiveMessage() method blocks, then this core loop does not receive additional messages or send portions of outbound messages (sends are asynchronous).  This helps to explain the message delays you have observed.
There are two approaches I could suggest for your scenario.

If the task to be executed is being done within Python and has a socket (or linux file descriptor) that can be selected on so that it could be run in a non-blocking manner, you could use the Thespian Watch extension: http://thespianpy.com/using.html#sec-4-8

If the task is invoking an externally blocking operation then I would recommend using a taskrunner actor specifically to perform that operation.  The TaskExecutor can create a taskrunner for each task execution (and the taskrunner can exit on completion); the TaskExecutor can be written to be aware that taskrunner actor instances may be unresponsive, but the TaskExecutor still remains responsive and able to communicate with the TaskManager without blocking.

Hopefully the above helps, and again, thanks for your interest in Thespian and your assistance and questions in helping to improve it.

Thank you for your quick and detailed answer. Things are much more clearer now. We will give you our feedback after doing some changes.

Closing this issue because of lack of updates.  Please feel free to re-open or create another issue if you still have questions or problems.


Unmet dependencies problem: daemon

jenkins : Depends: daemon but it is not installable
TASK [roles/geerlingguy.jenkins : Validate Jenkins is installed and register package name.] ***
fatal: [PAL-ansibleclient01]: FAILED! => {"cache_update_time": 0, "cache_updated": false, "changed": false, "failed": true, "msg": "'/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold"     install 'jenkins'' failed: E: Unable to correct problems, you have held broken packages.\n", "stderr": "E: Unable to correct problems, you have held broken packages.\n", "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n jenkins : Depends: daemon but it is not installable\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Some packages could not be installed. This may mean that you have", "requested an impossible situation or if you are using the unstable", "distribution that some required packages have not yet been created", "or been moved out of Incoming.", "The following information may help to resolve the situation:", "", "The following packages have unmet dependencies:", " jenkins : Depends: daemon but it is not installable"]}

Same problem here. Any updates on this?

@sanderfiers @arthurkhlghatyan - Can you give more information about what OS/version you're running? Also, if you have any other things (like different PPAs) installed that could affect Jenkins' install?

I am experiencing the same issue with ansible <IP_ADDRESS> by running only the geerlingguy.jenkins role on freshly spawned vagrant vm, tried with "debian/jessie64" and "ubuntu/trusty64"


add default flags section for single test class run configuration

Adding a section in .bazelproject files single_test_flags, listing all default flags needed for a single test run.

I signed it! :)

motivation
At Wix - we would like to add a flag --test_output=streamed to each generated test configuration for single class. It makes sense to us because we run test locally and it allows us to follow logs as the test is running.
We don't want this flag to apply when running multiple tests since we lose the parallelism.

Also we have fine grain targets and we don’t use sharping. OTOH not having
the logs visible as the tests are running is a big pain.
On Tue, 18 Dec 2018 at 17:01 Or Shachar<EMAIL_ADDRESS>wrote:

motivation
At Wix - we would like to add a flag --test_output=streamed to each
generated test configuration for single class. It makes sense to us because
we run test locally and it allows us to follow logs as the test is running.
We don't want this flag to apply when running multiple tests since we lose
the parallelism.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/pull/474#issuecomment-448249807,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIF1dE60V1Gy3V0pE9DYtna9IA7kw1ks5u6QNWgaJpZM4ZYSIf
.

@brendandouglas wdyt?

Apologies for the delays! I rebased this PR on top of master. Had to re-introduce @berman7's changes to the newly refactored TestContext strategies. It's a much nicer abstraction, btw!
Tests should be passing again!

@brendandouglas if you agree to accept that feature, I want to close this PR and open a new one that implements it like test_flags is implemented - in a way that does not effect run configurations, but only the actual bazel command generated for the tests (related to this issue).
I'm ready to create the PR from this commit.
What do you think?
@or-shachar, @hmemcpy - FYI

I'm not keen to add more options to the project view file, without a clear benefit. In this case, I don't see why you'd want flags which act only when running a single test case.
I understand there are long-running tests in your code base, and they are also single test cases, but not why that would be a common-enough case to justify it's own project view section.

Thanks @brendandouglas. I understand your standpoint and after pulling my head out of the code and looking at the bigger picture, I actually agree. I will have a discussion about this with my colleagues, to decide whether we want this feature implemented as an extension of the plugin or drop it. If we will decide to do that, we will need to find a way to do that using extension points, which is very similar to what I requested on #537. I think that with the right API we can easily solve both use-cases.
You can close this PR and I will add this use-case to #537.
@or-shachar - FYI


Add Support for Header Translation

Updated to use DisplayAttribute.GetName() instead of DisplayAttribute.Name to support translation through a resource file

Any idea when the NuGet package will be updated?

@damienbod can push the package

https://www.nuget.org/packages/WebApiContrib.Core.Formatter.Csv/3.0.2


Python 3 compatibility

Hi there, this might be more of a question than anything. I saw that six is a requirement and so I assumed that the library would be python 3 compatible. I installed it for that environment and it worked all right, but when it try to run the model creation under python 3 I get a few import errors, like:
/usr/bin/python3: Error while finding spec for 'semanticizest.parse_wikidump' (<class 'ImportError'>: No module named 'HTMLParser')

This is due to the fact that HTMLParser is not part of the standard library. After installing it via pip, I got another import error:
/usr/bin/python3: Error while finding spec for 'semanticizest.parse_wikidump' (<class 'ImportError'>: No module named 'markupbase')

So I guess my question is: should I dig those out and try to fix them, or is python 3 compat something that is not a priority at the moment ?

Patches for Py3 support are certainly welcome, as long as you make sure the Travis script is updated to actually test them. We don't usually run Python 3 so support for it will go stale without Travis.


Disable svg upload until functionality is restored

Temporarily fixes #37 until svg processing is handled correctly, by disabling svg uploads

Restricted all image uploads to .jpg, .png and .jpeg until svg functionality is implemented


Vanilla JS examples

I think it makes sense to use Vanilla JS first, then TS.
After updating to the new versions, I'm getting weird errors like TypeError: Cannot read property 'blogs' of undefined on t.crud.blogs() & can't figure out why.
I did check TS examples which are literally similar but seem something is missing out.

Weird it gives error on t.model.id() too after stripping everything out. I'll try to produce a repro :)

I thought the problem was my global prisma2 version interfering with the devDependency but it's not the case.
Both updated to 2.0.0-preview014.2 & I'm still getting an error.

Even tried the latest alpha 2.0.0-alpha.251 but still not working. I don't think the issue is on my side now.

I found the solution after installing every alpha's & beta's haha. I looked closely & noticed u guys removed nexusPrisma from types to plugins in makeSchema so I changed that & it worked haha :)
Here's the latest commit with what I changed. Check only src/index.js diff :)

Hey @deadcoder0904 glad you figured it out. I just updated the release notes to mention how to migrate. Guess its too late for you though :)
As for what this issue is about, JS, examples, I agree we should have one. I will keep this issue to track it. The problem right now is bandwidth and automating this stuff.

Also, add that u need to update nexus & nexus-prisma to their latest alpha's & beta's by doing
$ yarn add nexus@beta
$ yarn add nexus-prisma@next

Otherwise, it doesn't work. Just tried updating a new project.
My versions are<EMAIL_ADDRESS>&<EMAIL_ADDRESS> I can do a quick one. It won't require a lot of time I guess.
I'll do it like this ⸺

Make 2 new folders javascript/ & typescript/ inside nexus-prisma//examples
Copy-paste blog/ & hello-world/ folders into javascript/ & convert from TS to JS.

@deadcoder0904 thanks for the offer! I still worry about maintaining them though. Maybe best to wait til we have some automation in place. If after too many weeks this issue hasn't progressed, maybe we can try your approach and think about a different maintenance strategy.


Disable 'May Import Local Repository' when is disabled by setting (Is…

Modify the layout of /admin/users/{user} when the setting IMPORT_LOCAL_PATHS is missing or equal a false (Issue #4779):
Setting:
[security]
...
IMPORT_LOCAL_PATHS = false
DISABLE_GIT_HOOKS = true

As is:

To be:

Codecov Report

Merging #4780 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4780   +/-   ##
=======================================
  Coverage   20.69%   20.69%
=======================================
  Files         167      167
  Lines       32382    32382
=======================================
  Hits         6702     6702
  Misses      24699    24699
  Partials      981      981

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 0dac1ff...b2795dd. Read the comment docs.

LGTM


fix: add stroke-linecap="round" to gauge svg

Hello!
The final part of the semicircle gauge was not rounded like the initial part. I believe that is a bug.
I fixed it by adding a stroke-linecap="round" in the path of the SVG.
Here is a screenshot of the before and after the fix.
Before:

After:

Hi!
Thank you for the contribution.
That definitely looks better.
Could you move the style to the Gauge.scss file so it can be overridden if necessary?

Fixed it!
Should i update the readme banner to reflect the new changes too?

Thanks for update! The fix has been published in v1.1.3 🚀


Introduce 'LOOKUP' Transform Function

Description
Introducing a new transform function; LookupTransformFunction as a part of Join project as described in Lookup UDF Join In Pinot. This is a followup to the addition of DimensionTableManager in #6346.
LOOKUP is a regular transform function which uses the previously added DimensionTableDataManager to execute a lookup from a Dimension table. Call signature is as follows:
LOOKUP(TableName, ColumnName, JoinKey, JoinValue [, JoinKey2, JoinValue2 ...])

TableName: name of the dimension table which will be used
ColumnName: column name from the dimension table to look up
JoinKey: primary key column name for the dimension table. Note: Only primary key is supported for JoinKey
JoinValue: primary key value
*If the dimension table has more then one primary keys (composite PK), you can add more keys and values for the rest of the args: JoinKey2, JoinValue2 ... etc.
Example Query:
SELECT
    baseballStats.playerName,
    baseballStats.teamID,
    LOOKUP('dimBaseballTeams', 'teamName', 'teamID', baseballStats.teamID)
FROM
    baseballStats
LIMIT 10

Above example joins the dimension table 'baseballTeams' into regular table 'baseballStats' on 'teamID' key. Lookup function returns the value of the column 'teamName'.
To see the function in action you can also fire JoinQuickstart and test it as follows:

Testing

Unit tests are included to cover basic functionality and I also added a sample usage (table creation + query) in JoinQuickstart.
End to end functionality is also tested in a previous POC pull request here.

Documentation

Comprehensive documentation explaining the usage of 'Dimension' tables is being worked on and will be added to the https://github.com/pinot-contrib/pinot-docs repository in a separate PR.
LookupTransformFuncion usage and a sample query is added as a JavaDoc .

Codecov Report

Merging #6383 (1b141d8) into master (1beaab5) will decrease coverage by 1.15%.
The diff coverage is 56.80%.

@@            Coverage Diff             @@
##           master    #6383      +/-   ##
==========================================
- Coverage   66.44%   65.29%   -1.16%
==========================================
  Files        1075     1299     +224
  Lines       54773    62891    +8118
  Branches     8168     9135     +967
==========================================
+ Hits        36396    41063    +4667
- Misses      15700    18898    +3198
- Partials     2677     2930     +253

Flag
Coverage Δ

unittests
65.29% <56.80%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...e/pinot/broker/api/resources/PinotBrokerDebug.java
0.00% <0.00%> (-79.32%)
:arrow_down:

...ot/broker/broker/AllowAllAccessControlFactory.java
71.42% <ø> (-28.58%)
:arrow_down:

.../helix/BrokerUserDefinedMessageHandlerFactory.java
33.96% <0.00%> (-32.71%)
:arrow_down:

...ker/routing/instanceselector/InstanceSelector.java
100.00% <ø> (ø)

...ava/org/apache/pinot/client/AbstractResultSet.java
66.66% <0.00%> (+9.52%)
:arrow_up:

.../main/java/org/apache/pinot/client/Connection.java
35.55% <0.00%> (-13.29%)
:arrow_down:

...inot/client/JsonAsyncHttpPinotClientTransport.java
10.90% <0.00%> (-51.10%)
:arrow_down:

...not/common/assignment/InstancePartitionsUtils.java
73.80% <ø> (+0.63%)
:arrow_up:

...common/config/tuner/NoOpTableTableConfigTuner.java
100.00% <ø> (ø)

...ot/common/config/tuner/RealTimeAutoIndexTuner.java
100.00% <ø> (ø)

... and 1153 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 33de6dc...1b141d8. Read the comment docs.

Thanks for the review @Jackie-Jiang and @yupeng9 !
@kishoreg , @mcvsubbu, @siddharthteotia please let me know if you would like to add anything, otherwise I'd like to proceed with merging the branch and start addressing some small remaining items such as 'quota config' and documentation.

Thanks for the review @Jackie-Jiang and @yupeng9 !
@kishoreg , @mcvsubbu, @siddharthteotia please let me know if you would like to add anything, otherwise I'd like to proceed with merging the branch and start addressing some small remaining items such as 'quota config' and documentation.


chore: add workflow to run "yarn upgrade" periodically

This makes sure our lockfile remains up-to-date, including for
transitive dependencies, and reduces the likelihood of receiving a
sevurity notification from GitHub for one of those.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: b19992545e95fbdba0c7a98379b4987ff853a84c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Tab pane functional components and separation of concern

Bug Report
Steps
Minimal demo:
// imports omitted
function Tab1() {
  const [state, setState] = useState(null);
  return
Minimal Test
;
}

function Tab2() {
  return
Minimal Test
;
}

export function Test() {
  const [activeIndex, setActiveIndex] = useState(0);
  const panes = useMemo(
    () => [
      { menuItem: 'Tab 1', render: Tab1 },
      { menuItem: 'Tab 2', render: Tab2 },
    ],
    []
  );
  const tabChange = useCallback((event, props) => {
    if (props.value) {
      setActiveIndex(+props.value);
    }
  }, []);

  return <Tab panes={panes} activeIndex={activeIndex} onTabChange={tabChange} />;
}

Expected Result
Render properly
Actual Result
Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.

Version
2.1.5 (latest)
Testcase
CodeSandbox doesn't even allow sharing anymore.

Resolved with
const panes = useMemo(
    () => [
      { menuItem: 'Tab 1', render: ()=><Tab1/> },
      { menuItem: 'Tab 2', render: ()=><Tab2/> },
    ],
    []
  );


fix: default client to unknown if not passed

Description
cleaner metrics
Type of change

[x] 🐛 Bug fix (non-breaking change which fixes an issue)
[ ] 😎 New feature (non-breaking change which adds functionality)
[ ] ⁉ Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] ⚒ Refactor (no functional changes)
[ ] 📖 Documentation (updating or adding docs)

Was the tag an empty string before this change? Either seems fine to me.

yep!


Game Package Tests

Tests need to be completed for each module in the Game package.

[ ] AI
[ ] Components
[ ] Entitys
[ ] Managers
[ ] Physics
[ ] Quests
[ ] UI
[x] Faction Class
[ ] PirateGame class

Faction class fully tested


[WFLY-4794] Add tests to read logging deployment resources for WAR an…

…d EAR deployments.
There are tests in WildFly Core for this, but EAR's and WAR's can't reliably be tested in core. The DUP's don't process WAR's and EAR's the same. This just adds some simple tests to ensure that logging deployment resources pick up the correct configurations to be displayed.

Windows Build 2341 is now running using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458

Linux with security manager Build 2156 is now running using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458

Linux Build 7287 is now running using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458

Linux with security manager Build 2156 outcome was SUCCESS using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458
Summary: Tests passed: 900, ignored: 285 Build time: 0:07:10

Linux Build 7287 outcome was SUCCESS using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458
Summary: Tests passed: 3101, ignored: 365 Build time: 0:49:35

Windows Build 2341 outcome was SUCCESS using a merge of 17df0a30b851e8951bc11ef06a4f1686ab849458
Summary: Tests passed: 3099, ignored: 366, muted: 1 Build time: 0:51:37


How to add notes to piano roll

Hi @gwatcha, reaper-keys is revolutionizing my life, both editing podcasts and (soon hopefully) creating music.
THANK YOU!
I don't know how to add notes in the piano roll, however.
I can copy and paste with y and p motions, and move between them with w and b and h and l, but when I'm in the right spot, what's the workflow for creating notes?
I feel like it's something around a, but none of the which-key prompts really clues me in. I can make notes seemingly randomly with some, but I feel like there's some core knowledge I'm missing.
How do you use the piano roll? Thank you so much!

Yo, rk is not really built for managing notes in the piano roll in its current state. iirc G told me a while ago that he had put together the piano roll actions quite fast.
With time we could put together more commands for the piano roll, which is my intention, but not much yet.

@0atman I have this commit that might help with what you're looking for: I added actions for inserting notes and manœuvering them in the midi editor. Hope this helps!

oh incredible! I'll try it out!

I'll try it out!

I welcome any feedback ;)

Yeah, that seems like a bug. Fixed that in 2.0.0-a2.
Notes can be inserted by using a in midi editor. Sample workflow follows:
o # create new track
im # insert midi item
<Space>so # open in midi editor
a # add a note

Yeah, that seems like a bug. Fixed that in 2.0.0-a2. Notes can be inserted by using a in midi editor. Sample workflow follows:
o # create new track
im # insert midi item
<Space>so # open in midi editor
a # add a note

It works! Thank you very much! (2.0 is AMAZING btw)
I should look these up in the config, but how do you set the length of the midi note added with a?

Strangely, there is no binding for that currently. I'll have a look.

thank you! perhaps it should be similar in mnemonic to setting length of an audio clip (which I also don't know!)


Add debugWebViewPlatformProvider for WebViewPlatform

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
If we set the WebViewPlatform instance in one test, we cannot set it back to null after the instance is no longer needed.
  /// Platform-specific plugins should set this with their own platform-specific
  /// class that extends [WebViewPlatform] when they register themselves.
  static set instance(WebViewPlatform? instance) {
    if (instance == null) {
      throw AssertionError(
          'Platform interfaces can only be set to a non-null instance');
    }
    PlatformInterface.verify(instance, _token);
    _instance = instance;
  }

So if we mock the WebViewPlatform in one test, the other test would deal with the side effect of setting the mock.
class MockWebViewPlatform extends Mock
    with MockPlatformInterfaceMixin
    implements WebViewPlatform {}

main(){
  group('web view platforms do not have side effects', () {
    late final bool testWebViewPlatformWasCalled;

    test('Set instance in first test', () {
      testWebViewPlatformWasCalled = true;
      WebViewPlatform.instance = MockWebViewPlatform();
    });

    test('check if the WebViewPlatform instance is null', () {
      expect(
        testWebViewPlatformWasCalled,
        true,
        reason: 'We have to verify that the testWebViewPlatformWasCalled'
            ' is once executed so we can see if this affect this test',
      );
      expect(WebViewPlatform.instance, null);
    });
  });
}

The result of the second test would be as follows.
This test Fails with:
Expected: <null>
Actual: MockWebViewPlatform:<MockWebViewPlatform>

This may cause undesired behaviour because the mock is still present.
One solution would be to simply generate a new mock and set it, but we could not go back to the 'initial' state.
Proposal
I would suggest something like the debugNetworkImageHttpClientProvider.
flutter/packages/flutter/lib/src/painting/debug.dart
Somewhere there is a debugWebViewPlatformProvider field:
WebViewPlatform Function()? debugWebViewPlatformProvider;

And when we try to get the instance, we use it like this:
  /// The instance of [WebViewPlatform] to use.
  static WebViewPlatform? get instance {
    WebViewPlatform? result = _instance;
    assert(() {
      if (debugWebViewPlatformProvider != null) {
        final WebViewPlatform platform = debugWebViewPlatformProvider!();
        PlatformInterface.verify(platform, _token);
        result = platform;
      }
      return true;
    }());
    return result;
  }

It looks like you are trying to prevent test pollution between tests; normally we handle this in our own tests by setting a fake/mock/dummy implementation fresh for every test in setUp. Is there a reason that doesn't work for your use case?
If so, could you elaborate on the expected behavior of the "debug" implementation? Would it provide a benefit over allowing setting back to null?

Consider the following, you have a test file with several groups. In the group at the beginning of your file, you set the MockWebViewPlatform instance in the group's setUp method.
A few groups later, you interact with the instance again, unaware that the instance has been set. When you check the setUp of the group and the inherited setUps, it is not visible that the instance has been set.
So by default, I would say it would be good practice to always set the instance that survives multiple tests and is not a globally visible field in the testfile to a non-functional instance or null in the tearDwon method. That way, accessing it again will at least throw an exception, and it will be clear that you are accessing something that needs a proper test setup.
As mentioned above, a non-functional instance can also serve the purpose of giving the tester feedback that an exchange has taken place. However, the error message is not as informative as the default one that is thrown if you access it with null. Otherwise, you have to figure out from the stack trace that a substitution has been made, and if you want to interact with it, you have to replace/use the current one.

So by default, I would say it would be good practice to always set the instance that survives multiple tests and is not a globally visible field in the testfile to a non-functional instance or null in the tearDwon method.

Fair enough; we could probably change this to allow setting back to null (either by allowing null here, or to avoid accidental usage of null in production a @visibleForTesting method to reset it).
As a workaround for now, you can add something like:
class TombstoneWebViewPlatform extends WebViewPlatform {}

to your test file, and set instance to that in your teardown.

However, the error message is not as informative as the default one that is thrown if you access it with null.

It sounds like you would prefer being able to set it back to null rather than having a special built-in "debug" instance then? If so I can retitle this issue.

If you can give us a solution that allows us to set it to null. I would prefer that.
I chose the debugWebViewPlatformProvider interceptor because the assertion guarantees that it is not available in prod.
@visibleForTesting is just an annotation for the analyser, which can still be bypassed with and : // ignore: invalid_use_of_visible_for_testing_member.
But I leave the way to achieve this up to you.

I chose the debugWebViewPlatformProvider interceptor because the assertion guarantees that it is not available in prod.
@visibleForTesting is just an annotation for the analyser, which can still be bypassed with and : // ignore: invalid_use_of_visible_for_testing_member.

If someone wants to go out of their way to break webview in their own webview-using application in production, they can already trivially do so (such as via the line in my comment just above), so I'm not sure what the concern is here.


Add tf12 badge

This adds the tf12 version badge to better indicate that this only works with tf12 and above.

Merging. Thanks for review!


Minecraft 1.21 Fabric error

Describe the problem
I have problem with Fabric 1.21, server doesnt start. Its my first time using Fabric server, before I used only vanilla and curseforge.
I don't know what to do, i tried other java versions but it doesnt work neither
Container definition
version: "3.8"

services:
  fabric:
    image: itzg/minecraft-server:java17
    tty: true
    stdin_open: true
    restart: unless-stopped
    ports:
      - "25565:25565"
    container_name: "fabric"
    environment:
      VERSION: 1.21
      TYPE: "FABRIC"
      EULA: "TRUE"
      MEMORY: "12G"
      SPAWN_PROTECTION: 0
      VIEW_DISTANCE: 15
      SERVER_NAME: "gwf.fabric"
      TZ: Europe/Warsaw
      ENABLE_WHITELIST: true
      WHITELIST: "my mc username"
    volumes:
      # attach the relative directory 'data' to the container's /data path
      - ./data:/data

Container logs
fabric  | [init] Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 4 1000 1000 4096 Jun 19 13:49 /data'
fabric  | [init] Resolving type given FABRIC
fabric  | [mc-image-helper] 14:09:36.052 INFO  : Fabric launcher for minecraft 1.21 loader 0.15.11 is already available
fabric  | [init] Enabling whitelist functionality
fabric  | [mc-image-helper] 14:09:38.004 INFO  : Created/updated 1 property in /data/server.properties
fabric  | [mc-image-helper] 14:09:38.761 INFO  : The file /data/whitelist.json already exists, so no changes will be made
fabric  | [init] Setting initial memory to 12G and max to 12G
fabric  | [init] Starting the Minecraft server...
fabric  | [14:09:42] [ERROR] [FabricLoader/]: Uncaught exception in thread "main"
fabric  | java.lang.RuntimeException: An exception occurred when launching the server!
fabric  |       at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:71)
fabric  |       at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
fabric  | Caused by: java.lang.RuntimeException: Error invoking MC server bundler: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
fabric  |       at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:102)
fabric  |       at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.locateGame(MinecraftGameProvider.java:192)
fabric  |       at net.fabricmc.loader.impl.launch.knot.Knot.createGameProvider(Knot.java:175)
fabric  |       at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:130)
fabric  |       at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
fabric  |       at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
fabric  |       at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
fabric  |       ... 1 more
fabric  | Caused by: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
fabric  |       at java.base/java.lang.ClassLoader.defineClass1(Native Method)
fabric  |       at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
fabric  |       at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
fabric  |       at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor$1.loadClass(BundlerProcessor.java:65)
fabric  |       at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
fabric  |       at java.base/java.lang.Class.forName0(Native Method)
fabric  |       at java.base/java.lang.Class.forName(Unknown Source)
fabric  |       at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:85)
fabric  |       ... 7 more
fabric  | 2024-06-19T14:09:42.694+0200  WARN    mc-server-runner        Minecraft server failed. Inspect logs above for errors that indicate cause. DO NOT report this line as an error.        {"exitCode": 1}
fabric  | 2024-06-19T14:09:42.694+0200  INFO    mc-server-runner        Done

This is actually applicable to all the types
https://docker-minecraft-server.readthedocs.io/en/latest/versions/java/#class-file-version-650


master node cannot access the node having worker node ip

I set up kubernetes cluster and use calico to build pod-network.
But I got a message when accessing the node having worker node ip:
dial tcp <IP_ADDRESS>:10250: i/o timeout

For example, kube-proxy is working finely like this:
NAMESPACE     NAME                                               READY   STATUS             RESTARTS       AGE     IP               NODE                       NOMINATED NODE   READINESS GATES
kube-system   calico-kube-controllers-75f8f6cc59-tl62w           1/1     Running            0              26h     <IP_ADDRESS>       user-system-product-name   <none>           <none>
kube-system   calico-node-lkjrt                                  0/1     CrashLoopBackOff   6 (109s ago)   7m48s   <IP_ADDRESS>     mofl-c246-wu4              <none>           <none>
kube-system   calico-node-tcvbx                                  1/1     Running            0              7m48s   <IP_ADDRESS>   user-system-product-name   <none>           <none>
kube-system   coredns-78fcd69978-hbwqs                           1/1     Running            0              26h     <IP_ADDRESS>       user-system-product-name   <none>           <none>
kube-system   coredns-78fcd69978-l9zxj                           1/1     Running            0              26h     <IP_ADDRESS>       user-system-product-name   <none>           <none>
kube-system   etcd-user-system-product-name                      1/1     Running            5              26h     <IP_ADDRESS>   user-system-product-name   <none>           <none>
kube-system   kube-apiserver-user-system-product-name            1/1     Running            5              26h     <IP_ADDRESS>   user-system-product-name   <none>           <none>
kube-system   kube-controller-manager-user-system-product-name   1/1     Running            5              26h     <IP_ADDRESS>   user-system-product-name   <none>           <none>
kube-system   kube-proxy-f62rj                                   1/1     Running            0              26h     <IP_ADDRESS>   user-system-product-name   <none>           <none>
kube-system   kube-proxy-pdr8l                                   1/1     Running            0              26h     <IP_ADDRESS>     mofl-c246-wu4              <none>           <none>
kube-system   kube-scheduler-user-system-product-name            1/1     Running            5              26h     <IP_ADDRESS>   user-system-product-name   <none>           <none>

But if I run kubectl logs kube-proxy-pdr8l -n kube-system, it returns
Error from server: Get "https://<IP_ADDRESS>:10250/containerLogs/kube-system/kube-proxy-pdr8l/kube-proxy": dial tcp <IP_ADDRESS>:10250: i/o timeout

I got a same output when running kubectl logs calico-node-xxxx -n kube-system.
I guess that the port-forwarding to worker node makes some problems...
Master node has static ip address but worker node is connected to network hub which port-forward to worker node
(ex. domain-name@iptime.org:40000~50000 -> current worker node)
Could you gives some solutions?
Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Calico version
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version:
Link to your project (optional):

I'm not sure I fully understand, but fundamentally calico-node needs to be able to reach the Kubenretes API server, and you generally don't want that connection going through public networks / lots of intermediates. Same way you don't want kubernetes nodes talking to the API server over public networks.
At a minimum, you'll need to make sure the kubernetes.default service routes properly to the API server endpoint that you expect Calico to use, and that it is reachable.


Add a rule to combine two transposes besides leaky relu into a sigle transpose

Add a rule to combine two transposes besides leaky relu into a simple transpose.
Signed-off-by: Yasushi Negishi<EMAIL_ADDRESS>

Technically, if we had
transpose(binary-op(transpose(a, X), transpose(b, X), Y)
where type of a and b are identical, then we can also do the same trick
transpose(transpose(binary-op(a, b), X), Y)
isn't it @negiyas @tungld ?
if so, this can be handled in a different PR.

Technically, if we had
transpose(binary-op(transpose(a, X), transpose(b, X), Y)
where type of a and b are identical and binary op is an element-wise operation, then we can also do the same trick
transpose(transpose(binary-op(a, b), X), Y)

Yes, it's true.

Can you comment on whether you will generalize to all the element ops with one input, or two? Just so that we know at a high level what you intend to do in this PR. Its ok if you want to postpone some of the extensions to a future PR

Let me close this PR, because this PR has been replaced by PR  https://github.com/onnx/onnx-mlir/pull/1636 .
Thank you very much for your comments and I am sorry for troubling you.


Add inflection and lodash to dependencies from devDependencies.

The blueprint can't be used unless lodash and inflection are in the `dependencies.

@barelyknown yesterday in the ember-cli slack group @runspired mentioned I should use the afterInstall hook like so: https://github.com/pixelhandler/ember-jsonapi-resources/blob/master/index.js#L18-L24

The problem seemed to be that I didn't have those libraries installed by NPM unless I moved them to dependencies. But, I'm not real smart about NPM so ¯_(ツ)_/¯.

I ran into this as well, moving them to dependencies seemed to work.  Not really confident with my NPM as well so yeah...

Depends on what you are trying to accomplish, and I got a different impression of what was intended on Slack than what I think I'm seeing here.
The post install hook is for adding npm packages to the final app itself, and will add it to package.json in that app.
Specifying in dependencies will install it just for the addon's use.  This has the unintended consequence (currently) that it becomes available for the final app as well, but that is not a consequence that should be  relied on as a feature, it will change in the future.
You do not need lodash and inflections prior to this blueprint's index hook being run, no addon code is utilized to install them, nor is any addon code executed prior to their install.

I'm seeing if I can reproduce the problem now. I was not able to use the resource generator without making this change.

I can also confirm that installing your addon without moving them to dependencies would result in the generator failing.


"Run Bar" light theme broken with new UI

With the new UI the "Run Bar" in light theme is broken:

Compared to the dark theme which work fine:

thank you for reporting @Desoroxxx


Consumer stopped working after exception trying rollback() when putting session back into the pool, will invalidate

Please include the following information in your ticket.

ibmmq-jms-spring version(s) that are affected by this issue: mq-jms-spring-boot-starter:2.7.10
Java version (including vendor and platform): openjdk version "11.0.18" 2023-01-17 LTS
A small code sample that demonstrates the issue: the application code is not relevant, it's a simple spring boot app. Spring Boot version is also 2.7.10

Spring Boot config for JMS:
spring:
  jms:
    pub-sub-domain: false
    listener:
      acknowledge-mode: client

The consequence was fatal: the app simply stopped to consume messages.
[2023-08-10 13:07:36,574] [ourJmsListener-1] WARN  org.messaginghub.pooled.jms.JmsPoolSession - Caught exception trying rollback() when putting session back into the pool, will invalidate. com.ibm.msg.client.jms.DetailedJMSException: JMSCMQ0002: The method 'MQBACK' failed.
An IBM MQ call failed.
Please see the linked exception for more information.
com.ibm.msg.client.jms.DetailedJMSException: JMSCMQ0002: The method 'MQBACK' failed.
	at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:595)
	at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:215)
	at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:253)
	at com.ibm.msg.client.wmq.internal.WMQSession.syncpoint(WMQSession.java:1989)
	at com.ibm.msg.client.wmq.internal.WMQSession.rollback(WMQSession.java:1833)
	at com.ibm.msg.client.jms.internal.JmsSessionImpl.rollbackTransaction(JmsSessionImpl.java:2878)
	at com.ibm.msg.client.jms.internal.JmsSessionImpl.rollback(JmsSessionImpl.java:2101)
	at com.ibm.mq.jms.MQSession.rollback(MQSession.java:952)
	at org.messaginghub.pooled.jms.JmsPoolSession.close(JmsPoolSession.java:112)
	at brave.jms.TracingSession.close(TracingSession.java:123)
	at org.springframework.jms.support.JmsUtils.closeSession(JmsUtils.java:109)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.clearResources(DefaultMessageListenerContainer.java:1289)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1135)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
	at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:203)
	... 12 common frames omitted
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9206: Error sending data to host 'OUR_MQ_HOST:1414'. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009],3=OUR_MQ_HOST:1414,4=TCP,5=RemoteTCPConnection.send(byte [ ],int,int,int,int)]
	at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.send(RemoteTCPConnection.java:1824)
	at com.ibm.mq.jmqi.remote.impl.RemoteConnection.wrapSend(RemoteConnection.java:3026)
	at com.ibm.mq.jmqi.remote.impl.RemoteConnection.sendTSH(RemoteConnection.java:2792)
	at com.ibm.mq.jmqi.remote.impl.RemoteSession.sendTSH(RemoteSession.java:793)
	at com.ibm.mq.jmqi.remote.impl.RemoteSession.sendTSH(RemoteSession.java:709)
	at com.ibm.mq.jmqi.remote.api.RemoteFAP.MQBACK(RemoteFAP.java:9978)
	at com.ibm.mq.jmqi.monitoring.JmqiInterceptAdapter.MQBACK(JmqiInterceptAdapter.java:133)
	at com.ibm.msg.client.wmq.internal.WMQSession.syncpoint(WMQSession.java:1968)
	... 10 common frames omitted
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
	at com.ibm.mq.jmqi.remote.impl.RemoteConnection.asyncConnectionBroken(RemoteConnection.java:3890)
	at com.ibm.mq.jmqi.remote.impl.RemoteConnection.notifyReconnect(RemoteConnection.java:4925)
	at com.ibm.mq.jmqi.remote.impl.RemoteRcvThread.run(RemoteRcvThread.java:515)
	at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:319)
	at com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:99)
	at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:343)
	at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:312)
	at com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1240)

The issue also happened with Spring Boot and mq-jms-spring-boot-starter 3.1.2 on openjdk version "17.0.8" 2023-07-18 LTS

You have given no information about your application or what is really going on in your environment.
But the key line in the stack appears to be:
Caused by: com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
And that suggests a fatal error on the connection to the qmgr. So it should be expected that there is nothing remaining that can be put back into a session/connection pool.

Thanks for your answer.
There is nothing special in the app, it has a dependency on mq-jms-spring-boot-starter and a bean with @JmsListener annotation.
What happened on the environment: one node of the queue manager cluster failed. The client connects to OUR_MQ_HOST:1414 which is the cluster address, the app config knows nothing of the nodes themselves.
The exception above was the last thing that the app logged, after that it stopped consuming messages. This is the main issue. The expected behaviour is that the MQ client should failover to another node.
Since the exception from the MQ Client is not relevant, how can I investigate the problem further?

Well, we migrated to Kafka 😄
Joke aside, it was not an issue with mq-jms-spring but with our corporate MQ setup where client connections could timeout and fail, so what can the client library do? Nothing.


Possible regression - EmbeddingComposite can't find embedding

Description
There seems to be regression in dwave-system 0.6.0 package that causes EmbeddingComposite to fail finding an embedding of previously embeddable QUBO.
To Reproduce
Run the following code (instance.txt attached to the issue).
import json
import os
import numpy as np
from dwave.system.samplers import DWaveSampler
from dwave.system.composites import EmbeddingComposite

import time

DWAVE_ENDPOINT = 'https://cloud.dwavesys.com/sapi'
token = os.getenv('DWAVE_TOKEN')

if __name__ == '__main__':
    instance = np.loadtxt('instance.txt')
    qubo = {(i, j): k for i, j, k in instance}
    sampler = EmbeddingComposite(DWaveSampler(token=token, endpoint=DWAVE_ENDPOINT))
    result = sampler.sample_qubo(qubo, num_reads=1000, chain_strength=800)
    print(result.record[:10])

On previous version of dwave-system (0.5.4) embedding is found, with version 0.6.0 and above no embedding can be found for the example problems.
instance.txt
Expected behavior
Embedding is successfuly found.
Environment:

OS: Fedora 29
Python version: 3.6.6

Additional context

Solver used: DW_2000Q_2_1

I have been able to reproduce the issue and I am working on addressing it.

Does
import json
import os
import numpy as np
from dwave.system.samplers import DWaveSampler
from dwave.system.composites import EmbeddingComposite

import time

DWAVE_ENDPOINT = 'https://cloud.dwavesys.com/sapi'
token = os.getenv('DWAVE_TOKEN')

if __name__ == '__main__':
    instance = np.loadtxt('instance.txt')
    qubo = {(i, j): k for i, j, k in instance}
    sampler = EmbeddingComposite(DWaveSampler(token=token, endpoint=DWAVE_ENDPOINT, solver='DW_2000Q_2_1'))
    result = sampler.sample_qubo(qubo, num_reads=1000, chain_strength=800)
    print(result.record[:10])

resolve your issue?
If so this has to do with our new feature based solver selection. In 0.6.0 the solver is selected from the list of available solvers and in this case a (smaller) software solver was selected rather than DW_2000Q_2_1. The syntax above will work for both dwave-system 0.5.4 and 0.6.0 but going forward the better syntax would be solver = {'qpu': True} or if you want to be sure that you're always accessing the same system solver={'qpu': True, 'chip_id': 'DW_2000Q_2_1'}. See DWaveSampler's solver kwarg.

Closing due to inactivity. Feel free to reopen if the above fix does not work!

@arcondello Just wanted to say that this fix works :)

@mstechly, also worth noting, while we're on the topic of solver selection, we departed from the hard-coded-chip-id approach (for general use case) -- and feature-based solver selection is now preferred.
@arcondello illustrated the gist of that above, but for clarity: you can now use any exposed solver parameter (feature) and a set of operators (like relational, set, regex, etc) to specify which solver(s) satisfy your needs (yes, we will have multiple generally available solvers). If multiple solvers comply, the one with the lowest load is selected (by default).
For example, to ask for a QPU-based solver with more than a 1000 active qubits and a support for custom anneal schedule, you can say:
DWaveSampler(solver=dict(qpu=True, num_active_qubits__gt=1000, anneal_schedule=True))

Note that token and endpoint are omitted above -- they can be specified via (1) config file, or (2) environment variables. Since you prefer environment variables, just set the DWAVE_API_TOKEN. You don't have to set DWAVE_API_ENDPOINT if you're using the default endpoint (i.e. if you don't have an on-prem system).


Develop->Master

Coverage increased (+0.01%) to 59.805% when pulling 2b8d687c91db1a21def79b75a52fcfde453d2545 on develop into 3e8fd0fdbea5c01a4f8de07bea67a1541d5062fe on master.

Coverage increased (+0.01%) to 59.805% when pulling b88d2b901226dceaddcaa700325430776eb1dc25 on develop into 3e8fd0fdbea5c01a4f8de07bea67a1541d5062fe on master.


Remove duplicate entry and re-order examples

@kodster28 another small one for you :-)

Thanks, @hannesb0!


[FEATURE] Add FLS/DLS Integrated Test for Renamed Processor

Is your feature request related to a problem?
@sejli contributed to add a RenamedResponseProcessor in OpenSearch Core repo. https://github.com/opensearch-project/OpenSearch/pull/7377
What solution would you like?
I record a video offline to test the RenamedResponseProcessor to make sure it complies with FLS/DLS rules, but we should add into integrated tests into security repo and make sure it's working as expected.
Do you have any additional context?
https://github.com/opensearch-project/security/assets/113382730/91886781-3bda-436a-a739-a596ff0cd957

I think this issue has already been implemented by this PR: https://github.com/opensearch-project/security/pull/2876. Could you plz confirm that @mingshl ?

[Triage] @RyanL1997 to follow-up with @mingshl.

#2876

Hi @RyanL1997  RenamedResponseProcessor is a different feature than flat object, so we need different tests

@RyanL1997  The search pipeline is going to GA in v2.9.0. Do we have an estimation on when this issue can be resolved? Thanks!

@macohen is your team working on this one? would it make sense to transfer the issue to another repo for tracking purposes?

We're tracking it on our board so it's in view, but if you'd rather we move it, we can move it to the OpenSearch repo.

Thanks! it's fine either way... just wanted to make sure it was being tracked somewhere and not falling through the cracks :)

Updating the release target, since this isn't likely to be done before 2.10 ships.
Of course, this is an integration test that doesn't actually go into any released artifacts. So, tagging it to a specific release doesn't really mean anything.
We should try to get this done soon, rather that waiting for the 2.11 release timeframe. The sooner we start testing this automatically the better.

@sejli Take a look at https://github.com/opensearch-project/security/pull/2876 as a good example of how these kinds of tests were added in the past.  Feel free to comment on this issue or craft a draft PR if you'd like some pointers - thanks.

You can find the tests that @sejli added here: https://github.com/opensearch-project/security/pull/3562.
These tests can be triggered in a similar way to those in core through Gradle or Junit. Check out the actions for this PR it will include the test run.


Improve performance related to slow bitmask operation

as titled.

Travis-CI failing because Python 2.7 can't import cudautils?

Ah, looks like a circular import between _gdf.py and cudautils.py.


MAISTRA-2152: Get namespaces from MemberRoll in gateway controller

This avoids listing namespaces in the gateway controller, which
Maistra can't do, by having the controller take an optional
NamespaceSet argument that is registered with the MemberRoll
controller.  If that is present, the list of namespaces is taken from
it rather than from the API server.
Note that the NamespaceSet will only have access to namespace names
and no other metadata, so this may not work correctly for anything
needing things like annotations, labels, etc. from namespaces.

This diff is unfortunate, and seems a bit brittle -- does anything use other metadata, or might something use it in the future? But I'm not sure what else we can do.

@jwendell maybe you could build this and try to reproduce the issue you reported?

@bison Sorry, I didn't find this issue while running istio, I found it while reading the code, so I thought of opening a Jira issue for us to keep track of it, and fix it if it's indeed an issue. IIRC @rcernich said this wouldn't be a problem because that code is never reached in Maistra/OSSM. He can confirm.

It needs the Gateway objects because it does labelSelector magic. I don't think we can replace it like this.

Then again, as has been said before, we probably don't even need this component. It's experimental upstream iirc

Closing this. Don't think it's necessary for now.


fix npm start (typescript static version fix)

npm start doesn't works. The reason was typescript version which was too low for some additional node libraries.
Fixed static typescript version 2.0.0 -> ^2.0.0.

This fixed issue I was having with generating the build, it doesn't completely fix everything but this is needed.

Fixed in master


Leaving MACROTEAM

Hi guys, its been great but Im making my own Repository so if its possible can you please remove my files from this repository? Also u/nazta has asked me to create a macro megathread, too many macro posts going on since Lets Talk NOx page was archived, so he asked me if I can find some volunteers.. your exploration macros will be a good fit, especially since u/-pwnology- deleted the entire Lets Talk Nox Page last night..

Sure. Can you please delete your clone of this repository?

Is that like my Fork?

Okay I think I did it.
Here is my page if you need to access my files
https://github.com/Mcgillby/Mcgillby-Macros


Build Errors: cannot find symbol & incompatible types (all seemingly to do with 'webView')

Hi all, I am having similar issues as orig poster, I am still having his original issues and can't seem to get past it:  https://github.com/wf9a5m75/phonegap-googlemaps-plugin/issues/486
I implemented some of the suggestions on the above post, it helped a tad but I am still having a lot of errors:
cordova plugim rm plugin.google.maps
cordova plugin rm com.google.playservices
cordova plugin add https://github.com/wf9a5m75/google-play-services#v23
cordova plugin add plugin.google.maps --variable API_KEY_FOR_ANDROID="YOUR_ANDROID_API_KEY_IS_HERE" --variable API_KEY_FOR_IOS="YOUR_IOS_API_KEY_IS_HERE"
And that reduced my errors from 38 down to 24.
These are the two primary errors now, about 12 from each .java file:
C:\Users\RPO\Documents\Developer\MobileApp\lust\platforms\android\src\plugin\google\maps\GoogleMaps.java:881: error: cannot find symbol
divTop + divH - webView.getScrollY());
^
symbol: method getScrollY()
location: variable webView of type CordovaWebView
C:\Users\RPO\Documents\Developer\MobileApp\lust\platforms\android\src\plugin\google\maps\MyPluginLayout.java:53: error: cannot find symbol
this.root = (ViewGroup) webView.getParent();
And my plugins:
android.support.v4 21.0.1 "Android Support v4"
com.google.playservices 23.0.0 "Google Play Services for Android
com.jamiestarke.webviewdebug 1.0.8 "WebView Debug"
com.ludei.webview.plus 2.4.3 "Webview+"
cordova-plugin-device 1.0.0 "Device"
cordova-plugin-whitelist 1.0.1-dev "Whitelist"
net.orworks.cordovaplugins.cordovasqlite 1.5.0 "CordovaSQLite"
org.apache.cordova.device-motion 0.2.11 "Device Motion"
org.apache.cordova.device-orientation 0.3.11 "Device Orientation"
org.apache.cordova.dialogs 0.3.0 "Notification"
org.apache.cordova.geolocation 0.3.12 "Geolocation"
org.apache.cordova.globalization 0.3.4 "Globalization"
org.apache.cordova.splashscreen 1.0.0 "Splashscreen"
org.apache.cordova.statusbar 0.1.10 "StatusBar"
org.apache.cordova.vibration 0.3.13 "Vibration"
plugin.google.maps 1.2.5 "phonegap-googlemaps-plugin"
plugin.http.request 1.0.4 "phonegap-http-request"

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/12749580-build-errors-cannot-find-symbol-incompatible-types-all-seemingly-to-do-with-webview?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F637500&utm_medium=issues&utm_source=github).

Did you install the #test branch? Did you followed the tutorial for crosswalk? Are you on Cordova 5.0.0 or 4.3.0? (This plugin currently does not support the newest cordova version)

I assume #test branch and crosswalk are pre-requisites for this plugin?  If so, I have searched the github site and plugin for the install requirements for those but haven't found any notes/directions or hardly any mention of them.  Where can I find this?
I was on Cordova 5.0.0 and have already downgraded to 4.3.0.
-Russel
Date: Sun, 3 May 2015 08:56:51 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [phonegap-googlemaps-plugin] Build Errors: cannot find symbol & incompatible types (all seemingly to do with 'webView') (#518)
Did you install the #test branch? Did you followed the tutorial for crosswalk? Are you on Cordova 5.0.0 or 4.3.0? (This plugin currently does not support the newest cordova version)
—
Reply to this email directly or view it on GitHub.

The cli is not the problem, it is the android-js of Cordova. You have to install cordova platform add<EMAIL_ADDRESS>(or anything before 4.0.0)
We'll dig into the newer versions as soon as possible


Explicitly state that coupling map forms a directed graph

… #7987

Summary
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.381%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
54509

Relevant Lines:
64599

💛  - Coveralls


[FEATURE] Backups to Azure Blob Storage

Is your feature request related to a problem? Please describe.
Azure Blob storage does not provide an S3 compatible API.
Describe the solution you'd like
Backup directly to Azure blob storage solution.
Describe alternatives you've considered
Could backup to shared storage but Azure only allows 2 volumes per core to be attached to a node. Users would like to use those for workloads vs. backup storage.

+1 for this. It's a significant blocker for us, as we don't want to rely on minio.

surprised this keeps getting pushed back. Azure blob storage would be great for backups.

We also need this for backing up to our cloud. Minio seems to no longer support gateway.

ref: https://github.com/rclone/rclone

Is there any chance this will be added in 1.5? It keeps beeing pushed backs and we would really like to move away from our Minio solution.

#5387

Any movement on this?

Planned to be added at v1.5.0.
I plan to start the feature recently.
Any suggestion is welcome.

For us, we just need to be able to utilize Azure blob storage to push/pull backups to/from. Being able to set the storage tier during the upload. Hot/Cool/Archive

For us, we just need to be able to utilize Azure blob storage to push/pull backups to/from. Being able to set the storage tier during the upload. Hot/Cool/Archive
When is the ETA for v1.5.0?

@johnwc
We are targeting it to the end of June/Q2, but there would be some shifts. BTW, are you running Longhorn on Azure like AKS? Why use Azure blob in your case except for different tiers?

We are running Rancher+Longhorn on-prem.
Why allow for selecting what tier to push it to blob storage as? Because there are different costs for each tier, and the archive tier also comes with "thaw" time that you have to wait for it to be available to access it. End user needs to be able to tell Longhorn what they need it to be stored as that aligns with their company's policy.

Thanks for sharing. Sounds like #5411 is also required for your case.

Verified pass in longhorn master (longhorn-engine 4f6770, longhorn-manager 705e77, longhorn-instance-manager 23af7f, backupstore 228beb)
Follow instrucitons setup Azure blob storage backupstore and setup 2 clusters using this blob storage backupstore, I can :

Create multiple backup to blob storage backupstore
Restore each backup to volume has succeeded, data intact.
Restore each backup to the other cluster has succeeded, data intact.
Create disaster recovery volume in the other cluster has succeeded, after active the disaster volume, data is the newest data.

@chriscchien do we need any test case for that? I just re-added require/auto-e2e-test.  If needed, please reopen, then @mantissahz can help with the test case skeleton. Thanks.
cc @longhorn/qa

I am not sure if this is doable but if we can support blob storage in set_random_backupstore then all backup related test cases will be tested on daily regression with this kind of backupstore.
cc @innobead @mantissahz


Huge input lookup with large CDATA when parsing (SAX)

Please describe the bug
Potentially a duplicate of #2028 - however this input didn't have linebreaks.
Help us reproduce what you're seeing
Executable test case:
#! /usr/bin/env ruby
# encoding: utf-8

require 'nokogiri'
require 'stringio'

TEMPLATE = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://example.com">
   <soapenv:Header>
      <AuthHeader xsi:type="ns:vAuthHeader">
      <userName xsi:type="xsd:string">gorilla</userName>
      <password xsi:type="xsd:string">secret</password>
    </AuthHeader>
   </soapenv:Header>
  <soapenv:Body>
    <ns:checkToken soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <checkToken xsi:type="xsd:string"><![CDATA[%s]]></checkToken>
    </ns:checkToken>
   </soapenv:Body>
</soapenv:Envelope>
XML

class Handler < Nokogiri::XML::SAX::Document
  def error(message)
    raise message
  end
end

def try_parse(number)
  huge_data = "a" * (1024 * 1024 * number)
  xml = StringIO.new(TEMPLATE % (huge_data))
  parser = Nokogiri::XML::SAX::Parser.new(Handler.new)
  begin
    parser.parse(xml)
  rescue Exception => e
    puts "#{number} raises #{e}"
    return
  end
  puts "#{number} is OK"
end

try_parse 10 # error
try_parse 9.5 # ok

Expected behavior
No errors in both cases
Environment
$ nokogiri -v
# Nokogiri (1.11.0.rc3)
    ---
    warnings: []
    nokogiri: 1.11.0.rc3
    ruby:
      version: 2.5.3
      platform: x86_64-linux
      gem_platform: x86_64-linux
      description: ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
      engine: ruby
    libxml:
      source: packaged
      patches:
      - 0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
      - 0002-Remove-script-macro-support.patch
      - 0003-Update-entities-to-remove-handling-of-ssi.patch
      - 0004-libxml2.la-is-in-top_builddir.patch
      - 0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch
      compiled: 2.9.10
      loaded: 2.9.10
    libxslt:
      source: packaged
      patches: []
      compiled: 1.1.34
      loaded: 1.1.34

Additional context

@CloCkWeRX Thanks for submitting this report! I'll take a look as soon as I can to determine if it's a dupe of #2028 ... and if so will probably reconsider whether we should vendor the upstream patch to address it.

@CloCkWeRX Unfortunately the libxml2 patches that addressed #2028 do not address this particular problem. I'll noodle a bit to see if I can discover the root cause.

OK, found the problem, which is similar to the issue fixed by this (unmerged) upstream commit: https://gitlab.gnome.org/nwellnhof/libxml2/-/commit/99bda1e1ee77783e43c9059af00cd326deee3372
Let's see what @nwellnhof thinks.

Please note that I've also mentioned in an upstream issue at https://gitlab.gnome.org/GNOME/libxml2/-/issues/200

Upstream has asked me to submit a PR to fix this in libxml2 -- see Nick's comment at https://gitlab.gnome.org/GNOME/libxml2/-/issues/200. I'll try to get to that in the next few days.

Upstream has asked me to submit a PR to fix this in libxml2 -- see Nick's comment at https://gitlab.gnome.org/GNOME/libxml2/-/issues/200. I'll try to get to that in the next few days.

I've submitted a merge request upstream at https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/100
I've also got a PR with the test case @CloCkWeRX provided and the libxml2 patch ready at #2182.

I've submitted a merge request upstream at https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/100
I've also got a PR with the test case @CloCkWeRX provided and the libxml2 patch ready at #2182.


attempt to index local 'slot_item' (a nil value)

Hi
I have setup everything as described.
I call the website f.ex. like this: www.foo.de/ratechecker?token=foo
Inside nginx i have defined the location /ratechecker with redis like your example:
        location /ratechecker {
          default_type 'text/plain';
          content_by_lua_block {
            local redis_client = redis_cluster:new(config)
            local rate, err = redis_rate.measure(redis_client, ngx.var.arg_token)
            if err then
              ngx.log(ngx.ERR, "err: ", err)
              ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
            end
            if rate > 10 then
              ngx.exit(ngx.HTTP_FORBIDDEN)
            end
            ngx.say(rate)
          }
        }

Now I get the error
019/05/29 16:42:34 [error] 10383#10383: *26 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/resty-redis-cluster.lua:506: attempt to index local 'slot_item' (a nil value)
stack traceback:
coroutine 0:
        /usr/local/openresty/lualib/resty-redis-cluster.lua: in function 'commit_pipeline'
        /usr/local/openresty/lualib/resty-redis-rate.lua:19: in function 'measure'
        content_by_lua(nginx.conf:160):3: in main chunk, client: <IP_ADDRESS>, server: foo.de, request: "GET /ratechecker?token=foo HTTP/1.1", host: "foo.de:8111"

Line 506 is this last line of this code passage:
        _reqs[i].origin_index = i
        local key = _reqs[i].key
        local slot = redis_slot(tostring(key))
        local slot_item = slots[slot]

        local ip, port, slave, err = pick_node(self, slot_item.serv_list, slot, magicRandomPickupSeed)

Between the empty line I have inserted this:
        ngx.say("ok " .. slot .. " ok " .. key)
        ngx.exit(200)

It outputs:
ok 12182 ok ngx_rate_measuring_{foo}_20
But slot_item is nil...
Can someone help me?
Whats wrong?

Hi there @pzystorm  how are you? are you using redis cluster?
Did you allocated memory for the slots:
 lua_shared_dict redis_cluster_slot_locks 100k;

Can you also make it work through the docker-compose we provided? If yes then it might be related to something missing in your nignx.conf you can look at the example to see what's missing.


Add draft of LAD implementation

The LAD implementation does not perform as well as Theil-Sen or the PLL, but it has progressed far enough such that it can be tested.
I've added a (short) README on LAD. If there's still something to expand on there, please let me know.
Also, if I remember correctly we planned to merge this into x/lad. However I'm not able to create a Pull Request against a branch that does not exist yet, so you'd have to create that branch and then edit the PR.

Thank you very much, Julian!


https://apt.dockerproject.org  is down ?

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

My 2 cents: seems like some automated script somewhere in the world nukes the apt.dockerproject.org every sunday. see reports every week in this issue: #15616

Just chiming in here for more visibility on how many users this issue is affecting on Sunday. I'm getting the same 503 message as well. Perhaps a mirror is in order?

@advanderveer  You'r probably right  -_-! Nothing can do about it.

@jkehler  +1

Can't install docker on my ubuntu machine because of it. This need to be fixed with something like a maximum requests/sec or something.
$ curl https://apt.dockerproject.org/

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <title>503 Connection refused</title>

Error 503 Connection refused

Connection refused

Guru Mediation:

Details: cache-lhr6331-LHR<PHONE_NUMBER><PHONE_NUMBER>

Varnish cache server

This is just a workaround, but statically compiled binaries can still be downloaded.
Instructions for finding the right URLs can be found here; https://docs.docker.com/installation/binaries/#get-the-linux-binary

https://apt.dockerproject.org is not working for me too. So +1.

Yup, it's down; probably no need to add more "+1"'s. Unfortunately, if 5:45AM on a Sunday now in San Francisco, so we'll have to be patient for now.
/cc @jfrazelle

+1 :sob:

Guys, I gave you the benefit of the doubt when I raised #15616 - time to get serious now, with the amount of money being poured into Docker Inc apt and yum repos can't be managed by volunteers on a best effort basis.

+1
Definitely expect installation repo's to stay online.. 5+ hours?

+1
Err https://apt.dockerproject.org ubuntu-trusty/main amd64 Packages
  HttpError503
Err https://apt.dockerproject.org ubuntu-trusty/main i386 Packages
  HttpError503
Hit http://security.ubuntu.com trusty-security/universe Translation-en
W: Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-trusty/main/binary-amd64/Packages  HttpError503

W: Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-trusty/main/binary-i386/Packages  HttpError503

E: Some index files failed to download. They have been ignored, or old ones used instead.

USER POLL
The best way to get notified when there are changes in this discussion is by clicking the Subscribe button in the top right.
The people listed below have appreciated your meaningfull discussion with a random +1:
@RaymondKlass

+1

still down

https://mirrors.ustc.edu.cn/apt.dockerproject.org/repo/dists/ubuntu-vivid/main/binary-amd64/Packages

its back up and if people could not set up faulty cron jobs that ping us at hundreds of thousands of requests per second that would be great.

@jfrazelle I wonder if it a single very large organisation doing a schedule "apt-get update" behind a single NAT'd IP address that's causing the problem?  Varnish doesn't seem to mind, it stays up, what do you have behind varnish?  nginx in a container?  a rails app?  I would expect apt and yum repos to be absolutely hammered 24/7 based on the popularity of docker.

It is hammered 24/7 but gets nuked like this morning sometimes and from various IPs at once so it could be an entire org doing a cron... But it would have to be a verrrryyy large org to cause the surge and ip range which I will look into when it's not the weekend lol but ya be get around 2.5 million hits on a normal day so we see some traffic ;) and behind varnish are a few nginx containers, but when the cache gets missed when we are nuked then it's bad (to be totally transparent)
On Sun, Sep 6, 2015 at 5:27 PM -0700, "Peter Ericson"<EMAIL_ADDRESS>wrote:
@jfrazelle I wonder if it a single very large organisation doing a schedule "apt-get update" behind a single NAT'd IP address that's causing the problem?  Varnish doesn't seem to mind, it stays up, what do you have behind varnish?  nginx in a container?  a rails app?  I would expect apt and yum repos to be absolutely hammered 24/7 based on the popularity of docker.
—
Reply to this email directly or view it on GitHub.

So in this instance rate limiting wouldn't really do much

Also we have pager duty set up and I slept through like 7 phone calls, so yeah, how's that for a post mortum, I need like an old school pager lol

Well fwiw I would have probably gone with varnish in a net host container backed by nginx in containers and I have never had to deal with that kind of load. I do find the problem interesting - it's a good example of docker at extreme scale. Can I ask, when people are getting 503s is it because their is not enough backends to service the request (assume there is X backends which varnish is allow to give Y concurrent connections to) or are the nginx containers themselves spiralling out of control?

We use fastly for varnish

And the 503 is because there is no where for the requests to go, I'm going to adjust the cache settings but the cache should handle the problems like this morning it should not be annihilating the backends

Cool, thanks jess!

For anyone who is interested,
After parsing all the unique ips, turns out about 80% of them were
from Digital Ocean. Which lead us to discover, the DigitalOcean
pre-configured Docker server has a DAILY cron job to run an apt-get
update, which hits our servers.
A LOT of people have these servers apparently but the interesting thing is
this cron job is DAILY. So on a normal day this works but on this Sunday
varnish for some reason broke the contract w how many requests it can serve
to each backend.
I have also updated our varnish config to better serve stale content if
this ever happens again.
On Sunday, September 6, 2015, Ad van der Veer<EMAIL_ADDRESS>wrote:

Cool, thanks jess!
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16101#issuecomment-138208473.

Long story short we are actually handling hundreds of thousands of requests
per second every night :P
On Tuesday, September 8, 2015, Jessie Frazelle<EMAIL_ADDRESS>wrote:

For anyone who is interested,
After parsing all the unique ips, turns out about 80% of them were
from Digital Ocean. Which lead us to discover, the DigitalOcean
pre-configured Docker server has a DAILY cron job to run an apt-get
update, which hits our servers.
A LOT of people have these servers apparently but the interesting thing is
this cron job is DAILY. So on a normal day this works but on this Sunday
varnish for some reason broke the contract w how many requests it can serve
to each backend.
I have also updated our varnish config to better serve stale content if
this ever happens again.
On Sunday, September 6, 2015, Ad van der Veer<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

Cool, thanks jess!
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16101#issuecomment-138208473.

@jfrazelle, is apt.dockerproject.org accessibility solved and how?
I have Ubuntu image on DigitalOcean and can't access apt.dockerproject.org (but can access from my computer).
Is DigitalOcean IPs were simply banned and there is no way to use apt-get update/apt-get install from DigitalOcean machines?

@rutsky Just checked, and I'm able to access the repository from my DigitalOcean machines (AMS3)

@thaJeztah, my droplet in AMS2 region. Machine IP in <IP_ADDRESS>/20 range.
# curl --connect-timeout 10 apt.dockerproject.org
curl: (28) Connection timed out after 10000 milliseconds
#

Can you try curling dockerproject.org in general?

Can you try curling dockerproject.org in general?

Sure! Works:
# curl -s -I -w "%{http_code}\n" -o /dev/null https://dockerproject.org
200
# curl -s -I -w "%{http_code}\n" -o /dev/null docs.master.dockerproject.org
200

Doesn't:
# curl --connect-timeout 2 https://docker.io
curl: (7) Failed to connect to docker.io port 443: Connection timed out
# curl --connect-timeout 2 https://www.docker.com
curl: (28) Connection timed out after 2000 milliseconds
# curl --connect-timeout 2 https://docker.com
curl: (7) Failed to connect to docker.com port 443: Connection timed out
# curl --connect-timeout 2 https://apt.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
# curl --connect-timeout 2 https://yum.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
# curl --connect-timeout 2 https://hub.docker.com
curl: (7) Failed to connect to hub.docker.com port 443: Connection timed out

Though apt.dockerproject.org is pingable:
# ping -c 4 apt.dockerproject.org
PING j.global-ssl.fastly.net (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=61 time=0.435 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=61 time=0.348 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=61 time=0.368 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=61 time=0.341 ms

--- j.global-ssl.fastly.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.341/0.373/0.435/0.037 ms
#

Traceroute:
# traceroute apt.dockerproject.org
traceroute to apt.dockerproject.org (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  1.354 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.272 ms <IP_ADDRESS> (<IP_ADDRESS>)  1.258 ms
 2  <IP_ADDRESS> (<IP_ADDRESS>)  0.260 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.227 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.214 ms
 3  <IP_ADDRESS> (<IP_ADDRESS>)  0.761 ms adm-b7-link.telia.net (<IP_ADDRESS>)  0.723 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.862 ms
 4  adm-bb4-link.telia.net (<IP_ADDRESS>)  0.703 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.587 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.579 ms
 5  hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.303 ms hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.292 ms hbg-bb1-link.telia.net (<IP_ADDRESS>)  6.616 ms
 6  ffm-bb2-link.telia.net (<IP_ADDRESS>)  52.816 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.819 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.884 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

weird that you cant get docker.com either..
On Wed, Nov 25, 2015 at 9:56 AM, Vladimir Rutsky<EMAIL_ADDRESS>wrote:

Can you try curling dockerproject.org in general?
Sure! Works:
curl -s -I -w "%{http_code}\n" -o /dev/null https://dockerproject.org
200
curl -s -I -w "%{http_code}\n" -o /dev/null docs.master.dockerproject.org
200
Doesn't:
curl --connect-timeout 2 https://docker.io
curl: (7) Failed to connect to docker.io port 443: Connection timed out
curl --connect-timeout 2 https://www.docker.com
curl: (28) Connection timed out after 2000 milliseconds
curl --connect-timeout 2 https://docker.com
curl: (7) Failed to connect to docker.com port 443: Connection timed out
curl --connect-timeout 2 https://apt.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
curl --connect-timeout 2 https://yum.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
curl --connect-timeout 2 https://hub.docker.com
curl: (7) Failed to connect to hub.docker.com port 443: Connection timed out
Though apt.dockerproject.org is pingable:
ping -c 4 apt.dockerproject.org
PING j.global-ssl.fastly.net (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=61 time=0.435 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=61 time=0.348 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=61 time=0.368 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=61 time=0.341 ms
--- j.global-ssl.fastly.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.341/0.373/0.435/0.037 ms

Traceroute:
traceroute apt.dockerproject.org
traceroute to apt.dockerproject.org (<IP_ADDRESS>), 30 hops max, 60 byte packets
1  <IP_ADDRESS> (<IP_ADDRESS>)  1.354 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.272 ms <IP_ADDRESS> (<IP_ADDRESS>)  1.258 ms
2  <IP_ADDRESS> (<IP_ADDRESS>)  0.260 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.227 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.214 ms
3  <IP_ADDRESS> (<IP_ADDRESS>)  0.761 ms adm-b7-link.telia.net (<IP_ADDRESS>)  0.723 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.862 ms
4  adm-bb4-link.telia.net (<IP_ADDRESS>)  0.703 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.587 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.579 ms
5  hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.303 ms hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.292 ms hbg-bb1-link.telia.net (<IP_ADDRESS>)  6.616 ms
6  ffm-bb2-link.telia.net (<IP_ADDRESS>)  52.816 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.819 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.884 ms
7  * * *
8  * * *
9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16101#issuecomment-159687274.

is there a proxy or something?
On Wed, Nov 25, 2015 at 10:22 AM, Jessie Frazelle<EMAIL_ADDRESS>wrote:

weird that you cant get docker.com either..
On Wed, Nov 25, 2015 at 9:56 AM, Vladimir Rutsky<EMAIL_ADDRESS>
wrote:

Can you try curling dockerproject.org in general?
Sure! Works:
curl -s -I -w "%{http_code}\n" -o /dev/null https://dockerproject.org
200
curl -s -I -w "%{http_code}\n" -o /dev/null docs.master.dockerproject.org
200
Doesn't:
curl --connect-timeout 2 https://docker.io
curl: (7) Failed to connect to docker.io port 443: Connection timed out
curl --connect-timeout 2 https://www.docker.com
curl: (28) Connection timed out after 2000 milliseconds
curl --connect-timeout 2 https://docker.com
curl: (7) Failed to connect to docker.com port 443: Connection timed out
curl --connect-timeout 2 https://apt.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
curl --connect-timeout 2 https://yum.dockerproject.org
curl: (28) Connection timed out after 2001 milliseconds
curl --connect-timeout 2 https://hub.docker.com
curl: (7) Failed to connect to hub.docker.com port 443: Connection timed out
Though apt.dockerproject.org is pingable:
ping -c 4 apt.dockerproject.org
PING j.global-ssl.fastly.net (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=61 time=0.435 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=61 time=0.348 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=61 time=0.368 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=61 time=0.341 ms
--- j.global-ssl.fastly.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.341/0.373/0.435/0.037 ms

Traceroute:
traceroute apt.dockerproject.org
traceroute to apt.dockerproject.org (<IP_ADDRESS>), 30 hops max, 60 byte packets
1  <IP_ADDRESS> (<IP_ADDRESS>)  1.354 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.272 ms <IP_ADDRESS> (<IP_ADDRESS>)  1.258 ms
2  <IP_ADDRESS> (<IP_ADDRESS>)  0.260 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.227 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.214 ms
3  <IP_ADDRESS> (<IP_ADDRESS>)  0.761 ms adm-b7-link.telia.net (<IP_ADDRESS>)  0.723 ms <IP_ADDRESS> (<IP_ADDRESS>)  0.862 ms
4  adm-bb4-link.telia.net (<IP_ADDRESS>)  0.703 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.587 ms adm-bb3-link.telia.net (<IP_ADDRESS>)  0.579 ms
5  hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.303 ms hbg-bb4-link.telia.net (<IP_ADDRESS>)  7.292 ms hbg-bb1-link.telia.net (<IP_ADDRESS>)  6.616 ms
6  ffm-bb2-link.telia.net (<IP_ADDRESS>)  52.816 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.819 ms ffm-bb1-link.telia.net (<IP_ADDRESS>)  14.884 ms
7  * * *
8  * * *
9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16101#issuecomment-159687274.

is there a proxy or something?

Shouldn't be. At least on the VM side network is configured to use gateway:
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>   <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 docker0
<IP_ADDRESS>   <IP_ADDRESS>         <IP_ADDRESS>   U     0      0        0 eth0
#

I'm seeing similar problems with the yum repositories (https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml).
I'm not using proxies of any kind.

I thoroughly debugged connection issues and came to conclusion that my host had iptables misconfiguration: all outgoing IPv4 packets were effectively blocked, only IPv6 connections were allowed.
That explains selective connections problems: dockerproject.org has IPv6 and AWS S3 (which hosts package repositories) doesn't support IPv6.
Sorry for the noise @thaJeztah, @jfrazelle.

oh ya im working on turning on the cloudflare ipv6 compat mode for the
repos... so we will see if that works
On Wed, Nov 25, 2015 at 2:24 PM, Vladimir Rutsky<EMAIL_ADDRESS>wrote:

I thoroughly debugged connection issues and came to conclusion that my
host had iptables misconfiguration: all outgoing IPv4 packets were
effectively blocked, only IPv6 connections were allowed.
That explains selective connections problems: dockerproject.org has IPv6
and AWS S3 (which hosts package repositories) doesn't support IPv6.
Sorry for the noise @thaJeztah https://github.com/thaJeztah, @jfrazelle
https://github.com/jfrazelle.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16101#issuecomment-159744863.

Thanks for reporting back @rutsky!

+1

@bonly what are you voting for? Is https://apt.dockerproject.org down for you?

+1  - https://apt.dockerproject.org is down for me. (Ubuntu 14.04.3 LTS )

I worked around it by putting:
deb [arch=amd64] https://mirrors.ustc.edu.cn/apt.dockerproject.org/repo ubuntu-trusty main

into
/etc/apt/sources.list.d/docker-cnfix.list
No idea how secure it is to be using this mirror though, so...  YMMV.
Is there any other preferred mirror?

@RGD2 This mirror is provided by @ustclug as unofficial since dockerproject.org hasn't support community mirrors.

It's currently down for me (since a few days)
Linux zdev 4.9.0-2-amd64 #1 SMP Debian 4.9.13-1 (2017-02-27) x86_64 GNU/Linux

@zoechi it's working here, and we haven't had any reports so far, so may be something in your connection. If the problem persists; please open a new issue with details

I'm locking this issue because the original issue was resolved. If you're encountering issues with apt.dockerproject.org, yum.dockerproject.org or download.dockerproject.org, please open a new issue instead of commenting here. Comments on closed issues often go unnoticed and if there's an actual issue with one of those sites (which can be region dependent, thus not found by our monitoring system), reporting a new issue is appreciated.


(PDB-2527) allow latest-report? to be used in legacy events queries

adds an index on certnames(latest_report_id)
fixes a bug preventing latest_report? usage with the distinct_resources parameter
moves query logic for unioned aggregate-event-counts queries from the
aggregations to the CTE

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-master/626/
Test PASSed.

ping @kbrezina

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-master/641/
Test PASSed.

:+1:


ESP32-S2 stalls for 4.28ms every 2 secs (IDFGH-8608)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I have an issue with ESP32-S2-WROOM which stalls for 4.28ms every 2 seconds.
I tries several modules (same P/N) and all of them behave similar.
To reproduce the problem I used a very simple code which constantly toggles GPIO in a main loop.
void loop()  {     debug_gpio = !debug_gpio;     digitalWrite(MY_GPIO, debug_gpio); }
The chip remains with a default setting as I don't configure anything on boot.
Only SPIFFS is being configured, but it doesn't change the behavior.
Pause every 2 seconds:

Pause length is 4.27ms:

Anyone familiar with the phenomena?

No solution for this?
This is VERY> annoying if you try to fly a quadcopter with an esp32s2 !

In the main Arduino loop, above loop() function, in the file cores/esp32/main.cpp we see yieldIfNecessary() function. It works on ESP32-S2 for example as it only has one core. Function adds a 5ms delay every two seconds. Under some specific circumstances, this causes problem with loop() execution time.
https://github.com/espressif/arduino-esp32/issues/6119


Cassandra#cluster appears to leak threads on failure to connect

Hello! It appears that on failure to connect, Cassandra#cluster leaks some threads:
$ bundle exec ruby <<EOF
require 'cassandra'
puts "thread count: #{Thread.list.count}"
begin
  Cassandra.cluster(username: '<redacted>', password: '<redacted>', hosts: ['<redacted>'], ssl: true, timeout: 60)
rescue StandardError => e
  puts "#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}"
end
puts "thread count: #{Thread.list.count}"
EOF
thread count: 1
Cassandra::Errors::NoHostsAvailable: All attempted hosts failed: <redacted> (Cassandra::Errors::IOError: Could not connect to <redacted>:9042 within 10s)
/app/vendor/bundle/ruby/2.2.0/gems/cassandra-driver-2.1.3/lib/cassandra/future.rb:570:in `get'
/app/vendor/bundle/ruby/2.2.0/gems/cassandra-driver-2.1.3/lib/cassandra/future.rb:363:in `get'
/app/vendor/bundle/ruby/2.2.0/gems/cassandra-driver-2.1.3/lib/cassandra.rb:202:in `cluster'
-:4:in `<main>'
thread count: 5

We're trying to use the gem to detect when a cluster becomes available automatically after configuring it, so we expect a number of failures before the client can connect. Currently, we eventually see can't create Thread: Resource temporarily unavailable since presumably we've allocated too many threads when trying to connect, and the whole process is basically shot at that point (in our real environment, we use Sidekiq, but I was able to reproduce the leak here with just the cassandra-driver gem.

I think the project you are looking for is https://github.com/datastax/ruby-driver

Sorry, yes. I had two tabs open and filed the issue in the wrong one. Thanks for pointing me to the right place!


Update Readme with Firefox information and Chrome exclusive features

Update some information on the README is outdated, such as Firefox support and Chrome-only features.

Thank you for your contribution.


Error: Call to undefined function yii\base\fnmatch()

What steps will reproduce the problem?
Error: Call to undefined function yii\base\fnmatch()
What is the expected result?
What do you get instead?
Additional info

Q
A

Yii version
2.0.12

PHP version
7.0.0

Operating system
Linux

http://php.net/manual/en/function.fnmatch.php

Warning: For now, this function is not available on non-POSIX compliant systems except Windows.

Can you give more details about what system you are on?

I get a same error message.
PHP version          :       5.6.31
Operating system :  CentOS 6.6
Yii version            ;   <IP_ADDRESS>

https://unix.stackexchange.com/questions/305639/centos-6-7-and-fnmatch-in-php#comment537107_305639 ?


Search doesn't highlight or mark the found result

when you cmd +f or ctrl + f and search for a word in your text the found result is not marked or highlighted which is a huge inconvenience please solve ASAP, since your theme is the greatest !

The search highlight works fine in my environment. Can you please let me know the version of your border theme and the installer version of Obsidian?

It works fine in the editor mode, however not on the reader mode. I am using obsidian on 1.3.5 on MacOS.

What is the version of your border theme?

Uninstalling and reinstalling worked thanks.