memcached driver for session and cache does not work

Hi,
I am trying to use memcached as session and cache storage and running into troubles doing so.
For session setting userdata works for the 2 first requests, after that there are huge delays, up 20 sec, and I'm not sure where this comes from. I tested the same server setup without using codeigniter and it works fine:

ini_set('session.save_handler', 'memcached');
ini_set('session.save_path', 'tcp://<IP_ADDRESS>:11211');

session_start();

$_SESSION['foo'] = 'bar';
$_SESSION['time'] = time();

var_dump($_SESSION);

For cache there are no delays but the data is never stored. In the code below both var_dumps output bool(false):

public function test() {
$this->load->driver('cache', array(
    'adapter' => 'memcached',
    'backup' => 'file'
));

var_dump($this->cache->get('foo'));
$this->cache->save('foo', 'test test', 300);
var_dump($this->cache->get('foo'));
}

Should know the memory space for storing session datas. Core PHP provides
more memory than the Codeigniter. So you couldn't store more datas and
retrieve itself quickly.
That's why you get the different time delays !
On Jun 19, 2015 2:43 AM, "Tobias Boonstoppel"<EMAIL_ADDRESS>wrote:

Hi,
I am trying to use memcached as session and cache storage and running into
troubles doing so.
For session setting userdata works for the 2 first requests, after that
there are huge delays, up 20 sec, and I'm not sure where this comes from. I
tested the same server setup without using codeigniter and it works fine:
ini_set('session.save_handler', 'memcached');
ini_set('session.save_path', 'tcp://<IP_ADDRESS>:11211');
session_start();
$_SESSION['foo'] = 'bar';
$_SESSION['time'] = time();
var_dump($_SESSION);
For cache there are no delays but the data is never stored. In the code
below both var_dumps output bool(false):
public function test() {
$this->load->driver('cache', array(
'adapter' => 'memcached',
'backup' => 'file'
));
var_dump($this->cache->get('foo'));
$this->cache->save('foo', 'test test', 300);
var_dump($this->cache->get('foo'));
}
—
Reply to this email directly or view it on GitHub
https://github.com/bcit-ci/CodeIgniter/issues/3919.

The session delays are caused by emulated locks that serve for avoiding concurrency issues ... don't worry about that - the delays will disappear once the writes start working again.
That being said however, I'm afraid you'd have to debug this one on your own.

I'm not sure this comment belongs here, but the CI 3 documentation sample code for memcached doesn't work. The docs need to be updated to reflect the more complex driver loading that actually works.
http://www.codeigniter.com/userguide3/libraries/caching.html#memcached-caching

@sneakyimp & @narfbg
One very important and easy to miss thing... If you are using memcache then save_path must have the "tcp://" prefix, if you are using memcached then the save_path should not have the "tcp://" prefix.

I am using memcached for session handling and cache purposes. With the upgrade to CI 3.0.4, it starts to throw the following error (while it was working as expected on CI 3.0.3:
Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php5)

If I replace CI 3.0.4's Session_memcached_driver.php file with 3.0.3's Session_memcached_driver.php it is working again.

@yahyaerturan I highly doubt that it is in fact working if you revert to 3.0.3.
The only change in 3.0.4 is that it actually tells you that there's an error, while previously you'd never know that.

@narfbg It's a short video for making it certain that it works with 3.0.3.
I reviewed the diff, beside error structure, there is some changes on _get_lock($session_id) method, though I am not sure whether it is the reason.
I am working on PHP 5.5.9. There is no line info I can found.

You're confusing "not showing an error" with "working", and in fact the video shows that ...
See that <sessionId>:lock key at the 58 second mark? If it actually worked, you'd have one more without the ':lock' suffix.
As I said, the only difference is that 3.0.4 actually tells you that something's wrong.

So the question is, which line returns $this->_failure for you? You'll have to do some debugging ...

So I proved that you are right :smile: I'll try to dig more..

@narfbg, @yahyaerturan
I have taken the codeigniter version 3.0.3 and 3.0.4 for testing this error.. I used xdebug with netbeans editor.
I noticed that, $this->_success and $this->_failure variables introduced in the 3.0.04 version.
In the write function of session_memcached_driver.php, the line no 198 is a return statement which returns $this->_failure; This is where the problem starts.
If you change this variable from $this->_failure to FALSE, then it is perfectly working in v3.0.04 also without any error(Unknown: Failed to write session data (user). Please verify that the current setting of session...)
If my fix is correct, then guide me how to commit it.

@cmeenatchisundaram Not correct ... you're doing the same thing @yahyaerturan did - thinking that the error message itself is the problem and trying to hide it. That doesn't solve anything.
Line 198 returning failure means that you were unable to obtain a lock. If you're running PHP7, this should fix the issue: c4de3c2f93cb6d2af65b325ae2812fccad7e98b8 (given that the lock was actually acquired, but falsely reported in your case)

@narfbg
It is returning the value 16( Memcached::RES_NOTFOUND ) when the key doesn't exist in memcached

The above is obtained from getResultCode after executing the touch
The touch returns FALSE(bool)

Why would I ask you what touch() returns if that was the final fix?

@narfbg
I found the difference between v3.0.3 and 3.0.4..
V3.0.4
In the read function,
The lock is aquired but the sessionid is not yet set.
Because of this,  In write function, the $this->_session_id is NULL.
There is a condition check available at the line no. 205 for the lock acquisition.
But before itself in line 196 the below condition is there to check again the lock
if ( ! $this->_release_lock() OR ! $this->_get_lock($session_id))
{
return false;
}
V3.0.3
In the read function,
The lock is aquired but the sessionid is also set.
Because of this,  In write function, the $this->_session_id is not NULL. So it is not failing to write the stuff.
Solution
In line no 196, we can add the condition if the lock key is not set then return failure. or else set the session id and fingerprint..then continue the execution...
if (!isset($this->_lock_key) && (! $this->_release_lock() OR ! $this->_get_lock($session_id)))
{
return $this->_failure;
}

Nonsense, $this->_session_id() is set by read immediately after acquiring the lock, here: https://github.com/bcit-ci/CodeIgniter/blob/3.0.4/system/libraries/Session/drivers/Session_memcached_driver.php#L166
Stop looking for the difference between 3.0.3 and 3.0.4. For the Nth time - if it doesn't work in 3.0.4, it didn't work (properly) in 3.0.3 either; you just didn't get notified with an error about it.
Instead, please just try with a54a2b90bf057d7883ea7506d78a1073478ea4cf (on top of the previous patch) and tell me if it works.

@narfbg
I tried with your patch. But the same error is throwing...

You've tried with both c4de3c2f93cb6d2af65b325ae2812fccad7e98b8 and a54a2b90bf057d7883ea7506d78a1073478ea4cf at the same time and it still doesn't work?
Is the error still triggered on line 198?

Yes.. Both are throwing error...
Now it is failing on this condition inside the write fn in line no 190
$this->_memcached->getResultCode() === Memcached::RES_NOTSTORED

Line 190 is an opening brace ... whatever you mean by that, I want to know which line returns $this->_failure.

Line no 221 in a54a2b9...  and line no 222 in c4de3c2...

That you're still referring to them separately makes me think you're still doing it wrong - you're supposed to apply both of them and never revert. Or directly pull the 3.0-stable branch if that's easier for you.
If you've done that and it still shows an error, can you do a var_dump($this->_memcached->getResultCode() immediately before the return and give me the result?

For what it's worth we've run into this issue ("Failed to write session data (user). Please verify...") in v3.0.4 vs v3.0.3 and we've tracked it down to the change in Session_driver.php where _success and _failure are set to 0 and -1 respectively.
If we set the _success to TRUE and _failure to FALSE, with no other changes applied to the v3.0.4 code base then it works properly as it did before.
I don't know the full context that relates to this comment and change:
"Necessary due to a bug in all PHP 5 versions where return values
from userspace handlers are not handled properly. PHP 7 fixes the
bug, so we need to return different values depending on the version."
But at least on the version of PHP 5 we run (PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:34:46)) using 0 and -1 does not have the intended effect which could be because it's been patched by Ubuntu.
Hope this helps.

@omodica Excuse me if this comment would appear hostile, but you're now the third person in a row making the same mistake and basically ignoring what I've been saying over and over again ...
It's not helping, you didn't track down the issue and it hasn't worked properly before.
The PHP 5 bug in question is that the otherwise expected boolean return values are basically ignored and don't work for error reporting. Here's the RFC about its fix going into PHP 7: https://wiki.php.net/rfc/session.user.return-value
And because of this, when you eventually upgrade to PHP 7, TRUE/FALSE wouldn't "solve" the problem for you, because again - the error message being triggered is not the problem in the first place.
It doesn't matter that when you return FALSE instead of -1 you don't get an error message, the write() call has still failed and you still have a problem. Difference in 3.0.4 is that you actually know that there is a problem. What you're doing is trying to hide it and that's not a solution.
What we have to do in order to fix the issue is find out why FALSE/-1 is returned instead of TRUE/0.

Hi @narfbg, ok that's fair enough. I think part of my frustration is that Memcached-backed sessions definitely worked well enough in 3.0.3 although I do not know what the complete implications of that PHP bug were.
Moving forward, after I applied the commits you mentioned above it turns out that the getResultCode() value is 16, which is Memcached::RES_NOTFOUND. I believe that's an expected result when the key does not exist and I've added the following check:
OR ($this->_memcached->getResultCode() === Memcached::RES_NOTFOUND && $this->_memcached->set($key, $session_data, $this->_config['expiration']))
in addition to checking for the Memcached::RES_NOTSTORED result. I've tested this change and it's now working properly; at least for our use cases.

@omodica Great, that's what I've been waiting for someone to verify. Thanks!
607b159dcdf6c0df118266b9111f1b67d46d3f9b
We don't need the RES_NOTSTORED check, it was only there because the manual for Memcached::replace() said this:

the operation fails if the key does not exist on the server

and this:

The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Apparently, we can't trust the ext/memcached manual.
@yahyaerturan @cmeenatchisundaram Can you confirm that this fixes it for you?

@narfbg I was on a active development process so I switched to DB driven session. However, I'll try to fork and try to confirm if this fixes it (I think I will, it makes perfectly sense). Will tell more on Tuesday. Thanks.

@narfbg  8215e2f  commit is working fine.. no errors... happy engineering...

OK, 2 out of 3 is good enough for me to consider it case closed. Thanks for the assistance to you all. :)

It does not work for me. And frankly, I dont understand how it can work for anyone else.
Lets take a look at lines 213-214:
if (
					$this->_memcached->replace($key, $session_data, $this->_config['expiration'])
					OR ($this->_memcached->getResultCode() === Memcached::RES_NOTFOUND && $this->_memcached->set($key, $session_data, $this->_config['expiration']))
				)

Let's take a closer look what happens there. We assume that session is being written for the first time and memcache has been just flushed.
First, call to replace fails, as there is no data in memcache.
Second, $this->_memcached->getResultCode() === Memcached::RES_NOTFOUND evaluates to false,  because as @omodica said, getResultCode returns Memcached::RES_NOTFOUND as expected.
Therefore, because of characteristics of the && operator, the $this->_memcached->set($key, $session_data, $this->_config['expiration']) fragment never gets executed.
So, session data will never be written in the first place.
Obvious fix would be to change the whole fragment simply to if($this->_memcached->set($key, $session_data, $this->_config['expiration'])). However, It's been so in the past, but that check has been added.
Perhaps the intent was to use the error code for better error messages, but it's not achieving that and such a complex if-statement is now breaking things...

Getting confused with my own thoughts here, sorry. For me, getResultCode() returns code 14, not 16 as with @omodica. Therefore $this->_memcached->getResultCode() === Memcached::RES_NOTFOUND evaluates to false, and as the && must be false anyway, PHP does not bother to execute the memcached->set call.
I have no idea why we get different error codes. But is checking the error code here meaningful anyway? Anyway, fix would be the same, and it would propably work for all. (As we really dont need to know the exact reason of failure for replace.)

For me, getResultCode() returns code 14

... what is 14?

I have no idea why we get different error codes.

Well, we'll never properly fix it until we find that out.

But is checking the error code here meaningful anyway?

Yes.

Anyway, fix would be the same, and it would propably work for all.

"The same" as ... ?

(As we really dont need to know the exact reason of failure for replace.)

Yes, we really do need to know the failure cause. Please, don't go the same route everybody else in this thread did with trying to mask the problem - that is not an acceptable solution.

Quoting PHP documentation:

RES_NOTSTORED = 14
Item was not stored: but not because of an error. This normally means that either the condition for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.

RES_NOTFOUND = 16
Item with this key was not found (with "get" operation or "cas" operations).

16 should be an impossible result, as neither get or cas is called. @omodica, what's your platform?
14 makes sense: the condition for "replace" command is not being met, because no data what to replace exists.
We don't need replace(). Set() does all replace() does, and more. If for some reason we need to know if session is being generated for the first time, then it might be useful. But for now that information is not being needed in any way.

But is checking the error code here meaningful anyway?
Yes.

By "here", I meant the if statement. It would make sense if we do it afterwards, just before calling fail().

"The same" as ... ?

Same as in my first comment on this thread. Like this - and now with spaceholder for error handling:
if($this->_memcached->set($key, $session_data, $this->_config['expiration']))
				{
					$this->_fingerprint = $fingerprint;
					return $this->_success;

				}

				$failure_reason = $this->_memcached->getResultCode();

				// TODO Use $failure_reason to produce better error message
				// Alternatively, $this->_memcached->getResultMessage() may be used

				return $this->_fail();

Set() does all replace() does, and more.

Does it? It is true that I have written all of this code "blindly" and I'm not that familiar with Memcached, but why the hell would replace() exist if set() supersedes it?
I'd comment on the rest of your feedback, but everything else depends on this point. ^

From Memcached documentation:

set
Most common command. Store this data, possibly overwriting any existing data. New items are at the top of the LRU.
replace
Store this data, but only if the data already exists. Almost never used, and exists for protocol completeness (set, add, replace, etc)

So it exist mainly to make their API neat and tidy. Clearly "set" is considered a best practice by Memcached authors.

Great, thanks for clearing that up - it does make the whole thing much simpler too.

Frankly it's been long enough that I have forgotten some of the details but I think it makes sense what you're saying with using set vs replace. @niglu per your question we've been running PHP 5.5.x on Ubuntu and since this issue was closed the Memcached sessions have definitely worked properly for us... so I'd suggest any change be properly tested (and maybe a new issue / PR created).

What is the solution for this warning?
Message: Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct
After reading all of this i didn't catch any solution to fix this warning, please help, it happens on 3.1.6. Thank You

		if ($this->_memcached->get($lock_key))
		{
			sleep(1);
			continue;
		}

		$method = ($this->_memcached->getResultCode() === Memcached::RES_NOTFOUND) ? 'add' : 'set';
		if ( ! $this->_memcached->$method($lock_key, time(), 300))
		{
			log_message('error', 'Session: Error while trying to obtain lock for '.$this->_key_prefix.$session_id);
			return FALSE;

I got problem, Always return FALSE on this part.

Ah i got it,

Message: Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct

It happens because function open is never calling on Session_memcached_driver is never execute. When it actually triggered? I tried to put "$this->open($this->_config['save_path'], '');
" on construct and its never get any error again.
@narfbg please let me know if it correct. If not when function open actually calling?


Visualize features being used by CostSensitiveDecisionTreeClassifier

Hi,
First of all, thank you for developing this great theory and library.
I'm doing some tests using CostSensitiveDecisionTreeClassifier , but, after I fit the model, I can't export the tree and neither visualize what are the features being used in each node and their respective comparison.
How can I do this?

I suceeded visualizing the tree by accessing the propertie tree.tree of the model. It's just a dictionary, but if you use ppprint you can check on the splits easily.
One suggestion would be supporting .dot file creation with graphviz.


Properly fix directionality padding.

This will correctly fix directionality padding. The look and feel is preserved exactly how it would be with ltr direction.
The other pull request does not do it properly. It adds excess padding.

Thanks for this! Do we need to swap which side the icon is on for RTL? I'm not sure what is standard or not.

It already does that automatically :)
Flutter's Rows/Columns are dynamic. It's why axis alignment is called start and end instead of left and right.

I can't push to this PR branch for some reason, any ideas?

Not sure :( It might be because its a fork and the fork is on my account. I'll try giving you permission to the repo

I swear I've done this on fork repos in the past without any drama... hang on

If that looks good to you we can merge

Looks great to me! Go ahead!

Thank you for adding RTL support to salomon_bottom_bar!

Now available on pub as salomon_bottom_bar: ^3.2.0


Make library usable

Define main file and types so the library can actually be used. (Also ignored jest config because eslint didn't like it.)

LGTM


Focus loss in glow

I have an issue with opened docs via glow. When I select some docs to be opened my neovim loses focus and I simply can't do anything with my keyboard in the neovim window. I need to click with my mouse over neovim to be able to navigate with the keyboard. Here are my settings:
{
    "luckasRanarison/nvim-devdocs",
    dependencies = {
      "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim",
      "nvim-treesitter/nvim-treesitter"
    },
    lazy = false,
    enable = true,
    opts = {
      dir_path = vim.fn.stdpath("data") .. "/devdocs", -- installation directory
      telescope = {}, -- passed to the telescope picker
      filetypes = {},
      float_win = { -- passed to nvim_open_win(), see :h api-floatwin
        relative = "editor",
        height = 500,
        width = 800,
        border = "rounded"
      },
      wrap = true, -- text wrap, only applies to floating window
      previewer_cmd = "glow", -- for example: "glow"
      cmd_args = { "-w", "80", "-s", "dark", "-p" },
      cmd_ignore = {}, -- ignore cmd rendering for the listed docs
      picker_cmd = true, -- use cmd previewer in picker preview
      picker_cmd_args = { "-w", "80", "-s", "dark", "-p" },
      ensure_installed = {
        "node", "javascript", "typescript", "npm", "sass", "css", "html",
        "lua-5.4", "cpp", "go", "python-3.12", "jsdoc", "git"
      }, -- get automatically installed
      mappings = { open_in_browser = "" },
      after_open = function(bufnr) end -- callback that runs after the Devdocs window is opened. Devdocs buffer ID will be passed in
    }
  }

What am I doing wrong?
My setup:
nvim: 0.9.5
fedora: 38
alacritty: 0.13.1
X11

Sorry my bad, it was terminal mode and Ctrl+\ and then Ctrl+n fix the issue).
I was struggling with the settings of the plugins and other stuff but it was so easy.

hey @Mykhailo-Sichkaruk having the same problem, do we need to press ctrl+\ and ctrl+n everytime we open it or is there a persistent solution

hey @Mykhailo-Sichkaruk having the same problem, do we need to press ctrl+\ and ctrl+n everytime we open it or is there a persistent solution

As I understood Terminal mode is a feature of the nvim, not a bug. For example, you can try :terminal command in your nvim and you will get into terminal where you can write shell commands as usual while normal nvim's motions and commands line w,e,d,i won't work. Nvim's commands/motions won't work because all input is redirected to the shell. Then you can press Ctrl + \   Ctrl + n and you will be in the nvim's Normal mode.
So, a workaround I see - adding a more convenient shortcut to exit Terminal mode. I use: Map('t', '<A-a>', '<C-\\><C-n>')

If someone else stumble across this issue, the workaround is to use after_open in config options
---@type LazySpec
return {
  "luckasRanarison/nvim-devdocs",
  cond = not vim.g.vscode,
  dependencies = {
    "nvim-lua/plenary.nvim",
    "nvim-telescope/telescope.nvim",
    "nvim-treesitter/nvim-treesitter",
  },
  cmd = {
    "DevdocsFetch",
    "DevdocsInstall",
    "DevdocsUninstall",
    "DevdocsOpen",
    "DevdocsOpenFloat",
    "DevdocsUpdate",
    "DevdocsUpdateAll",
  },
  keys = {
    { "<leader>fd", "<cmd>DevdocsOpenCurrentFloat<CR>", desc = "Find Devdocs for current ft", mode = { "n" } },
    { "<leader>fD", "<cmd>DevdocsOpenFloat<CR>", desc = "Find Devdocs", mode = { "n" } },
  },
  opts = {
    previewer_cmd = vim.fn.executable("glow") == 1 and "glow" or nil,
    cmd_args = { "-s", "dark", "-w", "80" },
    picker_cmd = true,
    picker_cmd_args = { "-s", "dark", "-w", "50" },
    float_win = { -- passed to nvim_open_win(), see :h api-floatwin
      relative = "editor",
      height = 35,
      width = 125,
      border = "rounded",
    },
    after_open = function() vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<C-\\><C-n>', true, false, true), 'n', true) end
  },
}

Thank you @RayJameson !!! copypasted this right away


Bug with timeoutPolicy": "RETRY and retryCount > 0

Found a bug when the Task definition is defined with retryCount > 0
Here is are the steps to re-create the issue
Task definition
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' 'http://localhost:8080/api/metadata/taskdefs' -d '
[{
  "name": "T1",
  "retryCount": 2,
  "timeoutSeconds": 10,
  "inputKeys": [
    "sourceRequestId",
    "qcElementType"
  ],
  "outputKeys": [
    "state",
    "skipped",
    "result"
  ],
  "timeoutPolicy": "RETRY",
  "retryLogic": "FIXED",
  "retryDelaySeconds": 0,
  "responseTimeoutSeconds": 0
}]
'

Workflow Definition
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' 'http://localhost:8080/api/metadata/workflow' -d '
[{
  "name": "sample",
  "description": "sample workflow",
  "version": 1,
  "tasks": [
    {
      "name": "T1",
      "taskReferenceName": "T1",
      "type": "SIMPLE",
      "inputParameters": {
        "fileName": "${workflow.input.fileName}"
      }
    }
  ],
  "outputParameters": {

  },
  "schemaVersion": 2
}]

Create a new workflow instance
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' 'http://localhost:8080/api/workflow' -d '
{
  "name": "sample",
  "version": 1,
  "correlatonId": "corr1",
  "input": {
    "fileName": "f1"
  }
}
'

Now, the state of workflow and task in the UI page

Poll for the task
curl -X GET --header 'Accept: application/json' 'http://localhost:8080/api/tasks/poll/T1';echo

{"taskType":"T1","status":"IN_PROGRESS","inputData":{"fileName":"f1"},"referenceTaskName":"T1","retryCount":0,"seq":1,"pollCount":1,"taskDefName":"T1","scheduledTime":1537672421681,"startTime":1537672453413,"endTime":0,"updateTime":1537672453413,"startDelayInSeconds":0,"retried":false,"executed":false,"callbackFromWorker":true,"responseTimeoutSeconds":0,"workflowInstanceId":"64654638-2e02-4672-a2b5-932633175408","workflowType":"sample","taskId":"91f93cfe-15b8-4dd6-be79-7aa7b9a7f5d8","callbackAfterSeconds":0,"workflowTask":{"name":"T1","taskReferenceName":"T1","inputParameters":{"fileName":"${workflow.input.fileName}"},"type":"SIMPLE","startDelay":0},"rateLimitPerFrequency":0,"rateLimitFrequencyInSeconds":0,"queueWaitTime":31732,"taskStatus":"IN_PROGRESS"}

Now, the state of workflow and task in the UI page

Wait for 60 seconds or so and you should see a screen as below

Poll for the task
curl -X GET --header 'Accept: application/json' 'http://localhost:8080/api/tasks/poll/T1';echo

{"taskType":"T1","status":"IN_PROGRESS","inputData":{"fileName":"f1"},"referenceTaskName":"T1","retryCount":0,"seq":1,"pollCount":2,"taskDefName":"T1","scheduledTime":1537672421681,"startTime":1537672453413,"endTime":1537672545588,"updateTime":1537672575381,"startDelayInSeconds":0,"retried":true,"executed":false,"callbackFromWorker":true,"responseTimeoutSeconds":0,"workflowInstanceId":"64654638-2e02-4672-a2b5-932633175408","workflowType":"sample","taskId":"91f93cfe-15b8-4dd6-be79-7aa7b9a7f5d8","reasonForIncompletion":"Task timed out after 92167 millisecond.  Timeout configured as 10000","callbackAfterSeconds":0,"workflowTask":{"name":"T1","taskReferenceName":"T1","inputParameters":{"fileName":"${workflow.input.fileName}"},"type":"SIMPLE","startDelay":0},"rateLimitPerFrequency":0,"rateLimitFrequencyInSeconds":0,"queueWaitTime":31732,"taskStatus":"IN_PROGRESS"}

Now, the state of workflow and task in the UI page . The "TIMEOUT task is changed as "IN_PROGRESS" instead of "SCHEDULED" task. This is BUG-1

Poll for the task
 curl -X GET --header 'Accept: application/json' 'http://localhost:8080/api/tasks/poll/T1';echo

{"taskType":"T1","status":"IN_PROGRESS","inputData":{"fileName":"f1"},"referenceTaskName":"T1","retryCount":1,"seq":2,"pollCount":1,"taskDefName":"T1","scheduledTime":1537672545581,"startTime":1537672602679,"endTime":0,"updateTime":1537672602679,"startDelayInSeconds":0,"retriedTaskId":"91f93cfe-15b8-4dd6-be79-7aa7b9a7f5d8","retried":false,"executed":false,"callbackFromWorker":true,"responseTimeoutSeconds":0,"workflowInstanceId":"64654638-2e02-4672-a2b5-932633175408","taskId":"d16dbd53-e208-45a7-bcc7-c1710174758b","reasonForIncompletion":"Task timed out after 92167 millisecond.  Timeout configured as 10000","callbackAfterSeconds":0,"workflowTask":{"name":"T1","taskReferenceName":"T1","inputParameters":{"fileName":"${workflow.input.fileName}"},"type":"SIMPLE","startDelay":0},"rateLimitPerFrequency":0,"rateLimitFrequencyInSeconds":0,"queueWaitTime":57098,"taskStatus":"IN_PROGRESS"}

Now, the state of workflow and task in the UI page . Both the tasks are changed as IN_PROGRESS. This is BUG-2

@v1r3n and @cyzhao - Can you please validate this bug? I want to create the pull request for fixing this bug. This is purely a race condition that is causing the bug

@jvemugunta great find, can you elaborate on how racing condition causes the problem?

@cyzhao
if you look at this class
https://github.com/Netflix/dyno-queues/blob/e92d2aa584de32e4169f78c8311e04da2d5b3784/dyno-queues-redis/src/main/java/com/netflix/dyno/queues/redis/RedisDynoQueue.java#L518-L526
https://redis.io/commands/zrangebyscore
The score keeps changing in push, pop and processUnacks methods
Set scanned = quorumConn.zrangeByScore(myQueueShard, 0, now, offset, count);
However, when the pull happens, there is good chance the pop method will pull the message that resulted in the TimeOUT as processUnacks runs on a background thread every 60 seconds
The solution is not remove messages from the queue when the Task is not IN_PROGRESS or SCHEDULED. Please refer to my #781 on the fix.
I have tested and it seems to work. I am not sure if we need to apply the same fix on updateTask method
https://github.com/Netflix/conductor/blob/b53d6057f96721530d4fe62cddd3430ee9662f20/core/src/main/java/com/netflix/conductor/core/execution/WorkflowExecutor.java#L525-L543
It is hard to debug and replicate these bugs in a multi-threaded environment and you have to visualize in your mind on what the code does at runtime. I realized this bug when doing load tests
Does this make sense?

@jvemugunta thanks for the clarification, makes sense. I don't think we need to apply the same fix to WorkflowExecutor as task is always popped before updateTask.

@cyzhao - Let us first merge the PR #771 before we handle this one. #771 is a big one and all major bugs have been addressed


TracedConfig does not influence rendering

I was trying to extend the domain randomization examples to include changing collider shapes using the code below. However, the renderer doesn't pick up the changes. Specifically this occurs because the mesh information comes from json_format.MessageToDict which does not pick up any of the changes in TracedConfig.
I don't know enough about the calls json_format.MessageToDict is making into the internal structures to know what to override, but if anyone knew and wanted to point me in that direction, I would be happy to make a PR.
def scale_bodies(config, body_scale_dict: dict):
  """Constructs tree and in_axes objects for a joint socket randomizer.
  Adds an offset to any joints that match a key appearing in joint_key.  If
  no joint_key, then does nothing.
  Args:
    env: Environment to randomize over
    body_scale_dict
  Returns:
    Tuple of a pytree containing the randomized values packed into a tree
    structure parseable by the TracedConfig class
  """

  custom_tree = {'bodies': []}

  for b in config.bodies:

    def scale_body(b, x):
      colliders = []
      for c in b.colliders:
        collider = {
          'position': {
            'x': c.position.x * x,
            'y': c.position.y * x,
            'z': c.position.z * x
          },
          'capsule': {
            'length': c.capsule.length * x,
            'radius': c.capsule.radius * x
          }
        }

        colliders.append(collider)
      return {'colliders': colliders}

    if any([key in b.name for key in body_scale_dict.keys()]):
      custom_tree['bodies'].append(scale_body(b, body_scale_dict[b.name]))

    else:
      custom_tree['bodies'].append(scale_body(b, 1.0))

  return custom_tree

And simple code to replicate the issue is
from brax.envs import humanoid
env_fn = humanoid.Humanoid
config = env_fn().sys.config
mods = scale_bodies(config, {'right_thigh': 500.2})
updated_config = TracedConfig(config, mods)
json_format.MessageToDict(updated_config)['bodies'][3], updated_config.bodies[3].colliders[0].capsule.length

({'name': 'right_thigh',
  'colliders': [{'position': {'y': 0.005, 'z': -0.17},
    'rotation': {'x': -178.31532},
    'capsule': {'radius': 0.06, 'length': 0.46014702},
    'material': {'friction': 1.0}}],
  'inertia': {'x': 1.0, 'y': 1.0, 'z': 1.0},
  'mass': 4.751751,
  'frozen': {'position': {}, 'rotation': {}}},
<PHONE_NUMBER>0513457)

Showing the updated capsule length (230) is not exported from the MessageToDict


There is no parameter AccountName

There is no parameter -AccountName for Set-AzStorageAccount cmdlet.

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

#label:"aq-pr-triaged"

@tksh164 - Thanks for making that fix!
#sign-off


react-i18next old method warning

When developing the client, this warning appears:
react-i18next:: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.

Seeing as this has been recently adopted, I would not expect to see warnings about old methods.

i got same error

I have the same

I'm not associated with this project, but I stumbled upon this post while trying to fix this problem for myself. I was able to get rid of this warning by adding { useSuspense : true } to the react object in the i18n configuration. Here is the link to the docs for more info, I hope it helps. https://react.i18next.com/latest/i18next-instance


feat: implement highlight reaction features

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description
This PR:

Adds highlight reaction implementation
Adds react-emoji-render to render emojis

Notes:

User's can't react to their highlights

Related Tickets & Documents
Closes #882

Mobile & Desktop Screenshots/Recordings

Mobile

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

early review: emoji approach is reversed: https://github.com/github/g-emoji-element - this is the hardest part of the PR IMHO 😅

Use https://github.com/tommoor/react-emoji-render with :${emojiName}: and fallback from our url rather than the https://github.com/github/g-emoji-element if you want to get ahead quickly

Error: 404
{"statusCode":404,"message":"You are not following this user","error":"Not Found"}

Please fix the console spam, can't test on the deploy preview :<

Thanks for adding the redirect. Can we redirect back to the highlights feed after log in too? It takes you to the "create insights" page.

Thanks for adding the redirect. Can we redirect back to the highlights feed after log in too? It takes you to the "create insights" page.

The context of redirecting user's to their previous location before logging in requires a little more work... I've opened an issue on that here https://github.com/open-sauced/insights/issues/1075

We need to update the design to account for multiple selected emojis

Mobile view needs to wrap emojis

Thanks for fishing that out

quick solution for shipping any layout in 50% of the time without errors:

flex
mobile-first


Replacing strongly typed variables with var

Changes to method scope variables within the ApiControllerWithContext.cshtml scaffold.

Default GET action now uses var for the EF context variable.
Default DELETE action now uses var for the EF context variable.

Addresses #230

Hi @JamieKeeling, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Hi @JamieKeeling, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

TFS Bug#232601

:shipit:
Merging it after rebase

https://github.com/aspnet/Scaffolding/commit/f7c6297b2cf716f498c5e52582a6b60cc5e94466


Github URL on npm package page is incorrect

Link to the Github package here https://www.npmjs.com/package/react-country-region-selector leads to a dead URL.

Thanks @chidg - I'll patch this up tonight.


Fix error: Only iterables may be used in a SetType

Hello, I encountered this issue: data.allowed_mentions.users: Only iterables may be used in a SetType
content.allowedMentions should be content.allowed_mentions in payload.

Yea good catch, I'll push this along with everything else fixed tomorrow if I remember

Done in commit acc1d19


Sync etc-dnsmasq.d folder contents

What feature would you like added?
I recently ran into the very confusing bug where my 02-my-wildcard-dns.conf was misconfigured to an old IP, and so services could connect as usual to my second pihole (which had no config). The wildcard dns thing allows you to do local loopback, so internally you resolve the domain locally and externally, you wouldn't be going through the pihole, so my second pihole was still able to resolve the dns by not resolving it locally, making it look like services were working, while my first pihole was redirecting to the wrong ip.
This sort of confusion could be avoided if etc folders were able to be synced when orbital-sync does it's thing
Version
v1.8.1
Log output
No response

See this old issue on the now archived gravity-sync: https://github.com/vmstan/gravity-sync/issues/211
Since there are DNS configuration not available within PiHole the syncing of folders such as /etc/dnsmasq.d/ are the final piece to make PiHole HA work really well.
I realize this project does syncing differently and that this configuration isn't made available in the UI sadly. If there is no plans on including stuff not in the UI I don't see how this would be included in this project unless PiHole actually starts allowing users to do such config from the UI.
I just figured that I'd add the context since the feature makes sense but hasn't made it into any solution that I know of thus far.


feat(component): applies custom stylings

Asana task: https://app.asana.com/0/1182800557000793/1202322344574959

After a few attempts I've managed to connect the readme that Stencil creates to the component and link it as the main readme file, I hope it works for NPM as well


withDefaultPerPage not working

I followed the getting started guide and created posts schema and added a pagination by default 25
    /**
     * Get the resource paginator.
     *
     * @return Paginator|null
     */
    public function pagination(): ?Paginator
    {
        return PagePagination::make()->withDefaultPerPage(25);
    }

but when i visit /posts endpoint the response is returned without any pagination (even meta fields are not present in the response). But if I add the page size to the query /customers?page[size]=15 . It does get paginated

This is working correctly. The withDefaultPerPage() sets the page size if the client requests pagination but does not set a page size, e.g. /customers?page[number]=2 would return page 2 with the default per-page size (25 in your example).
To force /posts to return a page, even though the client hasn't requested a page, follow the "Forcing Pagination" section of the docs here:
https://laraveljsonapi.io/docs/2.0/schemas/pagination.html#forcing-pagination


fixup

Closes # all issued for eternity
Describe your proposed changes here.
Removes all worries for eternity.
No worries!

[ x] CHANGELOG.md updated with a link to the PR (not the Issue)
[ x] Well-formatted commit messages
[x ] Rebased/mergeable
[ x] Tests pass
[x ] http/swagger.yml updated (if modified Go structs or API)
[ x] Documentation updated or issue created (provide link to issue/pr)
[ x] Signed CLA (if not already signed)

Hmmm, we really thought about merging this one for a second. But it doesn't meet our style guidelines, so we'll have to shelve it for now.


Fix bug and add option

add -i, -includeRegex pattern to proxy
fix bug that truncate instrumented scripts

the fallow was extracted from: https://gist.github.com/voodooGQ/4057330
It will break url into fallow parts:  ['url', 'scheme', 'slash', 'host', 'port', 'path', 'query', 'hash']


Android 3D secure your browser does not allow you to use this solution

Hi, when the user enters his credit card and initiates the payment, he has this page which is displayed by marking: "your browser does not allow you to use this solution " instead of displaying the 3D secure page

OS: Android
"react-native": "0.70.5",
"@stripe/stripe-react-native": "^0.33.0",

hi @charliecruzan-stripe Any idea ?


Modifying Scan Guidance APIs

There was an issue in the previous PR for scan guidance APIs, wherein one API wasn't added because of some syntax error in the PR

@vanshisingh I believe this is now resolved via https://github.com/microsoftgraph/microsoft-graph-devx-content/pull/405

@vanshisingh I believe this is now resolved via #405

oh ok, I will close this PR in that case


don't reverse cards when rendering links

See http://localhost:3232/reference/radio - cards are in order again.

I figured it was a css thing


Cedar/CM.c: Fix wrong shortcut key assignment in the menu

Fixes #1702.
Thanks, @domosekai!

Typo in commit message: asignment -> assignment
I would also specify the shortcut key that is fixed and where.

Let me some time to fix typo.

This only fixes the easy mode. Normal mode is in CmOnKey, where the code is the same.

Indeed,  updated.

Merged. Thank you.


valve id

can you add unuqiute id for bots?
example when i write status my console, dont write BOT..

Hello it's possible to fake ID's, however it's not easy way for original HLDS.
I can provide some patches for rehlds, and xash3d if u want.

@jeefo can you send me please bot id patch. I use rehlds on linux centos. thank you very much

@jeefo status of this issue ?
I use REHLDS


Change perf_analyzer test configuration

Sometimes in the perf_analyzer_example, perf_analyzer fails to stabilize the throughput and latency throughout the timed window (5000ms). Therefore I'm changing that to always run 100 windows - should fix the issue.
Signed-off-by: szalpal<EMAIL_ADDRESS>

CI MESSAGE: [4066461]: BUILD FAILED

Turns out, the error wasn't comming from this change. Closing, since it's not necessary.


Use Travis CI deployments (or GitHub Actions?) to manage Pushy releases

Right now, the deployment process for Pushy is that I type a bunch of stuff into a terminal to manually trigger deployment to Maven Central using the Maven deploy plugin. This is more error-prone than is ideal, and also perhaps excessively dependent on my specific credentials.
As an alternative, we should consider using the Travis CI deployment system to build, sign, and publish artifacts at release time.

Now that GitHub Actions are A Thing, we might consider using those, too.


UI change on Send Confirmation screen.

-Enter the fee rate in sats per byte.

-Use ~ sign for the arrival time.

-Heading is ‘Total Fee’.
-Also it should change depending on the currency selected.

Nothing has changed on the send screen.


Support for authenticated proxies

Does this support authenticated proxies? Similar to how nightmarejs has the .authentication method

You'll want to use https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-continueInterceptedRequest

Requested by Tim on Slack to post here regarding a use case for HTTP Basic Authentication - the popup that appears for credential login when htpasswd configured by a web server like Apache or NGINX.
Currently, I believe Selenium 3.4 has a working beta on it. Would be great if this was supported.

@adieuadieu do you have an example of how this works with authenticated proxies?  I'm setting the --proxy-server chrome flag (ip:port) and then adding Authorization and Proxy-Authorization headers (base64(user:pass)) using the setExtraHTTPHeaders.  Has this functionality been confirmed?

Should be solved with #325 (1.4.0)

For anyone still looking for a way to do so, take a look at: https://blog.apify.com/how-to-make-headless-chrome-and-puppeteer-use-a-proxy-server-with-authentication-249a21a79212. or in short:
const chromeLauncher = require('chrome-launcher');
const { Chromeless } = require('chromeless')
const proxyChain = require('proxy-chain');

async function run() {

  const oldProxyUrl = 'http://PROXY_HOST_HERE:PROXY_PORT_HERE';
  const newProxyUrl = await proxyChain.anonymizeProxy(oldProxyUrl);

  const chrome = await chromeLauncher.launch({
    port: 9222,
    chromeFlags: [
      '--window-size=1200,800',
      '--disable-gpu',
      '--headless',
      `--proxy-server=${newProxyUrl}`
    ]
  });

  const chromeless = new Chromeless({
    launchChrome: false
  });

  const screenshot = await chromeless
    .goto('https://google.com')

    .type('chromeless', 'input[name="q"]')
    .press(13)
    .wait('#searchResultsTbl')
    .screenshot()

  console.log(screenshot) // prints local file path or S3 url

  await chromeless.end()
}

run().catch(console.error.bind(console))


Feature suggestion: Provide a way to get actual display width of the string returned by get_location()

First of, very nifty little plugin, it pairs wonderfully with nvim-treesitter-context and they complement each other well~
However I have one small grudge with it at the moment.
I have set my config to display a thin line as my statusline using fillchars, since I prefer using winbar

Here's the config in question, I put it in my plugin spec for coloful-winsep.nvim because I thought that's how it made the most sense, given the nature of said plugin.
local M = {}

function M.set_fillchar(char)
  local patterns = {
    stl = "(stl:)[^,]+(,?)",
    stlnc = "(stlnc:)[^,]+(,?)",
  }

  local fillchars = vim.o.fillchars

  if #fillchars == 0 then
    vim.o.fillchars = string.format("stl:%s,stlnc:%s", char, char)
    return
  end

  local stlmatch, stlncmatch =
    vim.iter(fillchars:gmatch(patterns.stl)):next(),
    vim.iter(fillchars:gmatch(patterns.stlnc)):next()

  if stlmatch ~= nil then
    fillchars = fillchars:gsub(patterns.stl, "%1" .. char .. "%2")
  end

  if stlncmatch ~= nil then
    fillchars = fillchars:gsub(patterns.stlnc, "%1" .. char .. "%2")
  end

  vim.o.fillchars = fillchars
end

---@type LazyPluginSpec
M.spec = {
  "nvim-zh/colorful-winsep.nvim",

  event = "WinLeave",

  init = function()
    -- Make the horizontal split separator be a thin straight line
    -- We override whatever has been set in order to make it look nice with this plugin.
    -- Did you set fillchars somewhere else but they kept getting overridden and you have been looking for minutes,
    -- hours, days, years even? You have come to the right place and I'm sorry.
    M.set_fillchar "─"

    -- Couldn't find a way to do this in "pure lua"
    vim.cmd [[highlight! link StatusLine WinSeparator]]
  end,

  config = true,
}

return M

Problem is: Using fillchars=...stl:─,stlnc:─ with nvim-navic ends up being very ugly and hardly legible.

To fix this issue, I've made it so my hook to attach nvim-navic to a buffer overrides these values again with a whitespace if the LSP supports documentSymbolProvider and thus navic gets required and attached... But!
I would like to keep the thin line after the displayed location so I also made the hook build a """simple""" status line with 1. location, 2. a repeated sequence of whatever the fillchar originally was:
local set_fillchar = require "plugins.ui.windows.splits".set_fillchar

local function get_fillchar()
  local fillchars = vim.o.fillchars

  local stl = vim.iter(fillchars:gmatch "stl:[^,]+,?"):next()
  local stlnc = vim.iter(fillchars:gmatch "stlnc:[^,]+,?"):next()
  if not stl or not stlnc then return "─" end

  local target = stl or stlnc
  return target:gsub("stln?c?:([^,]+),?", "%1")
end

---@type table<string, LspHookFunction>
local hooks = {
   -- ...

  statusline_context = function(client, buffer)
    if client.server_capabilities.documentSymbolProvider then
      require "nvim-navic".attach(client, buffer)

      local fillchar = get_fillchar()

      local location = "v:lua.require'nvim-navic'.get_location()"
      local locationlen = string.format("len(%s)", location)

      local fillerlen = string.format("%d - %s", vim.o.columns - 1, locationlen)
      local filler = string.format("repeat('%s', %s)", fillchar, fillerlen)

      -- Ends up looking like
      -- `%#Title#%{%v:lua.require'nvim-navic'.get_location()%} %#StatusLine#%{repeat('─', 360 - len(v:lua.require'nvim-navic'.get_location()))}`
      local status = "%#Title#%{%"
        .. location
        .. "%} %#StatusLine#%{"
        .. filler
        .. "}"

      set_fillchar " "
      vim.o.statusline = status
    end
  end,

   -- ...
}

---@type LspHookFunction
local function default_on_attach(client, buffer)
  vim
    .iter(pairs(hooks))
    :each(function(_, on_attach) on_attach(client, buffer) end)
end

return default_on_attach

Great, that looks fantastic, I am very pleased! Here's the catch, though: VimScript len() or lua # operator both return the number of bytes in the string, and it doesn't correspond to the actual number of columns the string takes: it's bigger.
For instance, when nvim-navic says 󰊕 get_fillchar, doing :lua vim.print(#require'nvim-navic'.get_location()) or echo len(v:lua.require'nvim-navic'.get_location()) respond with 17, whereas the actual column width is in fact 14.
The result is this:

The bar gets shrunk noticeably.
It would be nice if we could do something like
vim.o.statusline =
  [[%{%v:lua.require 'nvim-navic'.get_location()} %{repeat('─',]]
    .. vim.o.columns - 1
    .. [[- v:lua.require'nvim-navic'.get_location_width())}]]

I think it can make integrations more easy, and surely be a welcome feature for all hackers like me out there who like to style their UI manually.
Thank you for your time (and the plugin) ! :heart:

Reflect changes from wrex-dots/nvim@5f1b4fdd8397bfb47eea408024ddc1035df722c5.


How to make pymssql and cx_oracle into onefile?

I use sqlalchemy to connect to databases with drivers of pymysql, pymssql and cx_oracle. They go well in program.py.
When I pack it into onefile program.exe, pymysql goes well but the other two raise the same Exception:
Traceback (most recent call last):
  File "C:\Users\my\AppData\Local\Temp\ONEFIL~1\test.py", line 7, in <module>
    c=sqlalchemy.create_engine('mssql+pymssql://sa:1@<IP_ADDRESS>:1433/msdb')
  File "<string>", line 2, in create_engine
  File "C:\Users\my\AppData\Local\Temp\ONEFIL~1\sqlalchemy\util\deprecations.py", line 309, in warned
  File "C:\Users\my\AppData\Local\Temp\ONEFIL~1\sqlalchemy\engine\create.py", line 522, in create_engine
  File "C:\Users\my\AppData\Local\Temp\ONEFIL~1\sqlalchemy\engine\url.py", line 655, in _get_entrypoint
  File "C:\Users\my\AppData\Local\Temp\ONEFIL~1\sqlalchemy\util\langhelpers.py", line 343, in load
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:mssql.pymssql

or
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:oracle.cx_oracle
The code likes this:
import cx_Oracle,pymssql,pymysql,sqlalchemy
from pymssql import _mssql
from sqlalchemy.sql import default_comparator
# MySQL:
c=sqlalchemy.create_engine('mysql+pymysql://root:root@<IP_ADDRESS>:3306/mysql')
print(c.execute('select * from user').fetchone())
# SQL Server:
c=sqlalchemy.create_engine('mssql+pymssql://sa:1@<IP_ADDRESS>:1433/msdb')
print(c.execute('select * from msdb.dbo.sysutility_mi_smo_properties_to_collect_internal').fetchone())
# Oracle
c=sqlalchemy.create_engine('oracle+cx_oracle://sys:1@<IP_ADDRESS>:1521/xe?mode=sysdba')
print(c.execute('select * from ICOL$').fetchone())

The command is:
nuitka --onefile --remove-output program.py
I have tried the args like --follow-imports, --include-package=pymssql, --follow-import-to=pymssql and so on but nothing changed.
How can I fix this problem? Thank you.

same issue

I was thinking, I would need actual database installations, but it seems the creation of the engines doesn't require it. So I stripped the example original provided of these, and I can go with that.

My bad, I didn't put a milestone or help wanted on this one, so it fell through the cracks. It seems it's only missing a few implicit dependencies, that I am adding now. For sqlalchemy, people have made Yaml configuration changes for Nuitka according to https://nuitka.net/doc/nuitka-package-config.html in the past already, but if I don't even tag it as help wanted, that's not happening for this issue.

With a minor change this works now:
import sqlalchemy

# MySQL:
c = sqlalchemy.create_engine("mysql+pymysql://root:root@<IP_ADDRESS>:3306/mysql")
# print(c.execute('select * from user').fetchone())
# SQL Server:
c = sqlalchemy.create_engine("mssql+pymssql://sa:1@<IP_ADDRESS>:1433/msdb")
# print(c.execute('select * from msdb.dbo.sysutility_mi_smo_properties_to_collect_internal').fetchone())
# Oracle
c = sqlalchemy.create_engine(
    "oracle+cx_oracle://sys:1@<IP_ADDRESS>:1521/xe?mode=sysdba"
)

Of course the respective bindings need to be installed, but then are picked up automatically. Not sure if at runtime anything is happening at all. I cannot test that easily, so please report if there is anything with factory still.
Thanks for your report, this is fixed on the factory branch, which is a development version under rapid development. You can try it out by going here: https://nuitka.net/doc/factory.html
Feedback if this is working is very welcome, just please do not share plans of doing it, but rather confirmations or denials of it working.


Investigate options for supporting styling of 3D Tiles

For example, by implementing 3D Tiles Styling or by allowing access to feature attributes from a custom UMaterial.

#698 added the ability to access feature attributes from a Material, so I'm closing this issue.


The template deployment failed with error: 'Authorization failed for template resource

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

The template deployment failed with error: 'Authorization failed for template resource 'xxx' of type 'Microsoft.Authorization/roleAssignments'. The client 'xxxx' with object id 'xxxx' does not have permission to perform action 'Microsoft.Authorization/roleAssignments/write' at scope '/subscriptions/8xxxx/resourceGroups/xxxx/providers/Microsoft.Authorization/roleAssignments/xxxx'.'. (Code: InvalidTemplateDeployment)
Expected/desired behavior

App should deploy as expected

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

azd version?

run azd version and copy paste here.
1.7.0

Versions

Mention any other details that might be useful
I have full owner access to the subscription as well as any resource groups under it, so it baffles me why I cannot deploy this app.

I get this error while creating roles for all the services in this app (open ai, storage, azure ai)


You either meant a plural word or to produce this singular word with an article

"Don’t use colon when introducing lists of radio buttons or checkboxes." I think you mean "colons" or "a colon."

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 940e15a9-149b-04fc-4cab-186a48bbe874
Version Independent ID: 779b9d15-f811-2da7-ae4a-62874ba79446
Content: Colons - Microsoft Style Guide
Content Source: styleguide/punctuation/colons.md
Product: non-product-specific
GitHub Login: @pallep
Microsoft Alias: pallep

Hi @CLiebendorfer  thanks for the typo spotting! We'll fix asap.


Code that is using the object spread operator can't be packaged

For example:
When running pkg index.js:
const testObject = {};
const spreaded = {...testObject};

throws this error:
Error! Unexpected token (2:18)
  index.js

Node handles spread since v8.3: http://node.green/#ESNEXT-candidate--stage-3--object-rest-spread-properties. By default, pkg uses version 8.0.0 of Node, but when passing -t latest, it uses 8.3, I would assume object spread should work when using version 8.3.

I'm using babel-register too.
For me I faced problem of "..." syntax, it caused pkg throw an error when it found "..." command
><EMAIL_ADDRESS>> Error! Unexpected token (25:84)
  /home/com/app/apis/admin/admin-driver.flow.js

Work fine for running node index.js

Spread operator does not work with node version 8.6.0

I facing the same issue. Node 8 LTS DO support spread object operator. But when I try to package my project using node8 in pkg, I get a Unexpected token.
Any help or solution?

Any solution to this problem?

Try setting ecmaVersion to 9 here:
https://github.com/zeit/pkg/blob/master/lib/detector.js#L334

Same here

I'll be taking care of these shortly, with some more updates coming to pkg. Thank you!

Love what is ZEIT doing these days for the web in terms of OSS, but definitely, this repository needs more attention.
A Pull Request related to spread operator has merged days ago:
https://github.com/zeit/pkg/pull/379
is the PR closing this issue?
We can find at least more than one issue related to spread operator that is not closed:
https://github.com/zeit/pkg/issues/352. Why?
The only thing that we have is a message from the main contributor saying "yep, no problem, news coming soon," but what news? Will all the issues be solved magically? why so little information?
Just I want to understand how are you doing to maintain this repository and trying to push forward.

Fixed in 4.3.1.

@santimendoza?

@garthk I hadn't test it with that version. I'll test it and let you know

It worked for me in the latest version

4.3.1 still breaks on rest operator.

It is still present at 4.3.2
> Error! Binding rvalue (18:31)

where the line of code is
module.exports = async ({ url, ...opts }) => {

Thanks!

Still breaks for me:
> Error! Unexpected token, expected ";" (11:5)
  D:\dev\app\node_modules\normalize.css\normalize.css
error Command failed with exit code 2.

@OysteinAmundsen any solution? I'm also facing same error

@OysteinAmundsen @arpitprod does it fail with require("normalize.css") only? How the code looks like?

@igorklopov yes, this is solution for me

@arpitprod ok, but please try<EMAIL_ADDRESS>in case no workaround is needed with 4.4.2

it's working fine now after update pkg


Change repo URL because of change of ownership (from antonuccig to gi…

…ancarloantonucci)

Can someone merge this?

That's me, but I see that I have no way to prove it... Or have I? Is there a way to show you that I've changed username? (in particular, see this: https://discourse.julialang.org/t/can-i-change-my-username-so-that-it-matches-my-github-username/70173)

I can verify it by going to the old URL and it redirects. However it redirects to https://github.com/giancarloantonucci/NSDETimeParallel.jl.

Changed it back (I want to put a big deprecation note before submit a new package with the new name). Can you merge this now?


DeepFace Facial Recognition

i installed your program DeepFace but can Deepface be used of sending out a picture of someones face and it using a catelog of faces exact or similar to this picture to try and fiture out who the person is? aka reverse image search of finding other images of the exact same person to find out who they are
Because im getting the idea through your videos and the info on github that that is not one of its capabilities?

Please check out read me of the repo. Find function is for this.


Executing a built in command does not wait for it to be executed (fixes #617)

@alexandrudima this is for #617, can you please check if it makes sense? The intent is that commands executed via keybinding service properly connect the promises chain.
After this change I can execute a command from an extension and it will only complete when the action has completed on the renderer side.

Hi @bpasero, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Benjamin Pasero). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

I will make a different PR for this


OC-212 ~ Removes test scope for bouncycastle

All is well.

SonarQube analysis reported 1 issue

 1 minor

Watch the comments in this conversation to review them.

All is well.

All is well.

All is well.

All is well.


[EventGrid] re-generated for 2022 Jan release

This PR regenerated the source code based on the latest swagger commit.

API changes have been detected in com.azure:azure-messaging-eventgrid. You can review API changes here

API changes have been detected in com.azure:azure-messaging-eventgrid. You can review API changes here


Let upgrade and use Homebrew without matter the Mac's OS release

A detailed description of the proposed feature
I use Homebrew since 2013, thanks so much for this!. I bought my MacBook Pro in 2013 and it came with Mountain Lion, 2 years later due Homebrew upgrade (it was my only reason to upgrade the MacOS version) I did an OS upgrade to the El Capitan, sadly the my Mac became 15% slower.
I am a Java developer
Now this situation arised again, I need upgrade Homebrew, but it asks for Mojave, I am afraid if I do an upgrade about the Mac OS, my Mac is going to become more slower.
Thus has no sense buy other Mac, my other tools, Java, STS (IDE), Jenkins, etc work fine until now in this old Mac.
The motivation for the feature
Let a developer work in peace with Homebrew and any development tool (Git, cURL) and any type of server (MySQL, PostgreSQL, redis, rabbitmq )  without matter the version Mac' OS.
Therefore, letting for a developer upgrade Homebrew without matter the Mac' OS version
How the feature would be relevant to at least 90% of Homebrew users
I think, a lot, it because my unique reason to do a MacOS upgrade was due Homebrew.
It to let any developer (Java world) install the servers and tools for development.
Thus would be fantastic have Homebrew generic for any MacOS release.
Now I can't because has no sense for me buy a new MacBook Pro to accomplish this goal.

What alternatives to the feature have been considered
None.
I am assuming behind the scene is involved compiled code to apply this constrain about the OS version.
Open for suggestions. Perhaps I am missing something.
Again thanks a lot for this tool.

Hello, the link shared is broken.
I want fix this issue to avoid it be closed.
Thank you

I need upgrade Homebrew, but it asks for Mojave

Homebrew supports macOS from Mavericks on. What command did you run that asked you to update to Mojave? What was the exact messaging?

I have in my Mac currently the El Capitan, I have the following scenario with brew doctor
brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: A newer Command Line Tools release is available.
Update them from Software Update in the App Store.

Warning: You are using macOS 10.11.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience, as you are running this old version.

I assumed the risk in some way, but is problematic.
I was able to upgrade some formulas (if my memory does not fail me Git) but I was not able to upgrade MySQL

Well, there you, that message explains everything. Some things will work, some won’t, and they’re not all under our control. In MySQL’s case, they don’t support your old macOS version, and presumably for good reason: there’s an incurred maintenance burden to supporting old versions.
Your request is definitely not relevant to 90% of users, as the template asks. Other tools evolve, and we need to evolve with them.

Thanks for the explanation. I understand the situation


Fix decoder parsing with new storage tries

We are not adding a default new trie mapped to a created address, which can cause errors in parsing if trying to write to storage of a newly created account.
Fixes a bunch of missing storage trie for address FOO on the test chain (I'm not including new payloads on the test cases folder because I am still trying to debug follow-up issues with some of these blocks on the prover side, but I can share payloads, the consistent-with-header integration test passes now).

The Validate PR job is failing because it crashed parsing, as I had forgotten the closing "" in "the consistent-with-header". Changing the PR description and re-running the job doesn't work, it cached the initial version. Guess we can just ignore it for this PR.


Implement --version option

Is your feature request related to a problem? Please describe.
.
Describe the solution you'd like
I would like ztpd --version to output the version that the ztpd binary is. To my knowledge there is no other way to check the version of the binary. Having this information outputted in the logs would also help debugging.
Describe alternatives you've considered
.
Additional context
.

Please ensure the version is defined using semver format.

A current workaround for this is to query the package manager:
rpm -qa | grep ztpd

A current workaround for this is to query the package manager:
rpm -qa | grep ztpd

This works ok for rpm-based distros, but won't work for .deb-based distros (Debian, Ubuntu). For the former, consider using rpm query tags to extract very specific versioning information. Be careful as well, since if multiple versions are installed, you need to take care to format/filter/select the expected output. It's not trivial to list the "latest"/"newest" version installed.


Plugin Development plugin declares inputs with custom equals()

> Task :nebula-code-quality:pluginDescriptors
Using objects as inputs that have a different serialized form but are equal has been deprecated. This is scheduled to be removed in Gradle 8.0. Type 'org.gradle.plugin.devel.PluginDeclaration' has a custom implementation for equals(). Declare the property as @Nested instead to expose its properties as inputs. See https://docs.gradle.org/7.4/userguide/upgrading_version_7.html#equals_up_to_date_deprecation for more details.

Your Environment
Gradle 7.4

Thank you for reporting! It seems like the equals in PluginDeclaration doesn't take displayName and description into account. I wonder why that is. In any case, the GeneratePluginDescriptors task probably shouldn't declare the list of plugin descriptors directly as an input.

@DanielThomas This will be fixed in Gradle 7.5.

Fixes #19029


In-game whitelisted commands in config.yml are ignored.

The config.yml maintains a list of whitelisted commands which can be used in-game if "EnforceParkourCommands" is enabled.
Any commands included in whitelist are ignored due to the code referencing node "Other.Commands.Whitelist" instead of "OnCourse.EnforceParkourCommands.Whitelist" in the config.yml.

Hey Steve, thanks again for helping me find bugs.
I have a rather massive update soon to commit so to avoid complication (I'm not great at using git), I will include your fixes and add you in the message as a thanks.
Kind regards,
Ash

Hi Ash,
That's absolutely fine - whatever's easier.  I found this one by accident while testing the perworldinventories plugin.
Thanks,
Steve


micro:bit V2 support

Hi all,
Wasn't sure the best way to share this info, so I thought an issue here might be a good way.
The micro:bit V2 has is already available and we've updated the JS libraries to help porting editors to the new board.
If Open Roberta is already using microbitFs, then all you'd have to do is update to the latest version of the library and update a couple of calls (the MicropythonFsHex constructor to now also add a V2 hex, and there is a method to generate a "Universal hex" file).

https://github.com/microbit-foundation/microbit-fs
https://microbit-foundation.github.io/microbit-fs/quick-guide.html

An example can be found in the Python Editor:

https://github.com/bbcmicrobit/PythonEditor/blob/16e2ffff11958488f43a957b0a602db5b49cc1fe/js/fs.js#L68
https://github.com/bbcmicrobit/PythonEditor/blob/16e2ffff11958488f43a957b0a602db5b49cc1fe/js/python-main.js#L931

The latest version of the hex files for V1 and V2 can be found in their respective repos:

V1: https://github.com/microbit-foundation/micropython-microbit-v2/releases/
V2: https://github.com/microbit-foundation/micropython-microbit-v2/releases/

We plan is to push the V2 port to the upstream MicroPython repository when it's ready, so this is a temporary repository until everything goes upstream

The V2 uses a slightly different microcontroller (nRF52 with a Cortex M4 instead of the V1 M0+), so we've created a new hex file format called Universal Hex. This hex format is capable to store the data for both microcontroller, so we can generate one file that works everywhere.
The microbitFs library already generates Universal Hexes, but if you interested there is also a new library specifically to combine two Intel Hex files into a Universal Hex:

Library: https://github.com/microbit-foundation/microbit-universal-hex/
More info about the Universal Hex format: https://tech.microbit.org/software/hex-format/

Let me know if you have any questions.
Happy holidays!

+1
The longer this issue is open, the more urgent it gets. Is there yet a plan to resolve it?

From now on this will be discussed in Ticket: #1461


refactor(grammarly): use new, official, npm package

Blocked by https://github.com/znck/grammarly/pull/272


Wire colors in SO3.cfg are backwards

I tried to wire my SO3 based on the config file but was getting nonsensical results.
I checked for the thermistor and realized that all the SO3 integrated board wires had backwards colors.
Here's my findings:
Orange: ground
White:  5v
Gray:   RGB
Brown:  filament sensor
Yellow: unload button
Red:    temperature
Blue:   hotend light

Thus the aliases code should be:
  filament_sensor_pin = PC7,         # BROWN signal shall be connected to a digital I/O pin
  filament_unload_pin = PC6,         # YELLOW signal shall be connected to a digital I/O pin
  RGB_pin = PG8,                     # GRAY signal shall be connected to a digital I/O pin
  extruder_temperature_pin = PC1,    # RED signal shall be connected to a temperature sensing input pin
  hotend_lit_pin = PA1,              # BLUE signal shall be connected to a digital I/O pin

Also the colors should be documented somewhere else. Maybe on the schematic.

I can confirm the issue on the Revo version of the Smart Orbiter, I was convinced the IC board was faulty but after trying @CarVac's color coding I was able to lit the NeoPixel using an Arduino (I still need to test everything else since I need to crimp again all the connectors... and explain to the vendor that the board is probably magically working again and I don't need a replacement anymore 🙈).
@RobertLorincz I'd suggest to create a dedicated page with instructions to setup the Smart Orbiter, I completely missed the reference image under the point "3.3 Integrated Smart Features" in the current page (https://www.orbiterprojects.com/so3/) since it contains a lot of mixed information and I didn't expect to find wiring related information under the "Firmware configuration" section.

I think the image in the current page is fine, but it need to be put in a more evident place. I wouldn't rely on the cable colors unless there's some kind of warranty that they won't change in the future (I.E: due to a manufacturer decision).

Huh, I didn't register that image at all.
Maybe you're right, it probably shouldn't specify wire colors in case it changes.
But I'm glad my findings were able to help someone. Now to wait for my replacement hotend to come in... I had a DOA CHC.

I created a pull request to fix the colors specified in the configuration and I added more instruction to wire the Smart Orbiter as well to avoid any possible future mistake. I took the liberty to add you as a co-author since you found both the error and the right wire colors.

The problem is that the supplier mixed up the colors and there is not only one variant out there. So I prefer people follows the pin numberings and definition instead of the wire colors.

That's exactly what I was worried about. I don't know how familiar you are with GitHub, but I opened a pull request #4 to update the comments in the configuration. I changed the colors according to what CarVac reported and added the pin numbering on the top. Should I remove the colors? Is it fine for you to have the pin numbering inside the configuration? Do you prefer updating the configuration by yourself instead?
If you'll find some time to do that, I'd still strongly suggest to create a dedicated web page with the instruction to setup the Smart Orbiter 3, it's easy to miss the image with the pin numbering on the current page. As a side note I need to make you notice that the website is completely missing information about the Revo version (aside from the small paragraph in the blog post about the SO3), so some people are getting confused #2.
The configuration need to be updated for sure since it's misleading, but about the website it's just a my opinion.

I would want to remove all references to colors in the configuration, then, and just have a physical order description in the file.

I agree, but I’ll wait for RobertLorincz final decision since this is it’s own project.


1.16.4 "Failed to load correctly"

Crash when Launch Forge Server (Not LAN)
TRansliterationLib 1.0.1
https://gist.github.com/Ibirtem/c8b1cfe72aaa0afb770f36d6e51ed331

It's a client mod, not a server mod.


Add selected algorithms

In GitLab by @mboehm7 on Mar 30, 2022, 18:33

lmDS (regression)
lmCG (regression)
MLogreg (classification)
PCA (dim reduction)
KMeans (clustering)
Components (graph)
PageRank (graph)

All but MLogreg and PCA are already implemented.

Closed as only MLogreg and PCA have not been implemented, in case someone wants those please reopen or ideally, create a new issue.


Automatically re-run command when GPU isn't available

Fixes #590
I was able to reproduce the described behavior with the following example project:
# cog.yaml
build:
  python_version: "3.8"
  gpu: true
  python_packages:
    - torch
    - numpy
predict: "predict.py:Predictor"

# predict.py
from cog import BasePredictor
import torch

class Predictor(BasePredictor):
    def predict(self, size: int) -> int:
        n = torch.randn([size])

        if torch.cuda.is_available():
            n = n.cuda()

        return n.sum().item()

With the latest version of Cog, cog predict fails on my local machine with the following error:
$ cog predict -i size=100
Starting Docker image cog-gpu-project-base and running setup()...
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ⅹ Failed to start container: exit status 125

This PR updates the cog run and cog predict subcommands to automatically re-run themselves in the event of this error, bringing them in line with cog build which already has this behavior.

I took this for a spin locally on my M1 Mac but ran into this error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ⅹ Failed to start container: exit status 125

Hey it worked on the non-GPU codespace!
Starting Docker image cog-cog-run-without-gpu-base and running setup()...
Error response from daemon: page not found
Running prediction...
-7

Not sure what that page not found is about though.

I took this for a spin locally on my M1 Mac but ran into this (unrelated) error:

This looks like the original error. Something I ran into during development was that I wasn't actually calling the new version of Cog. In my case, cog resolved to the Homebrew installation. Try doing a which cog to make sure it's the right one, and do [sudo] make install as necessary.

I'm pretty sure I was calling ~/go/bin/cog explicitly, but maybe I forgot that time. I can try it again.

hh

A


[CARBONDATA-2740]flat folder handling for implicit column and other bug fix

Problem

When flat folder is enabled for table, pruning is not happening for implicit column.
error message is wrong when complex column which does not have any string datatype column is given in local dictionary and exclude column.
when data load is failed, corresponding segment file is not getting deleted.

Solution:

when flat folder is enabled, based on the segment number present in the carbondata file name,  pruning is taken care
error message is corrected
when data load is failed, segment file will be deleted

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5825/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5826/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5834/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5837/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7169/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/5945/

please refer #2514 , as some chnages are moved to that PR, and flat folder support for implicit column will be raised in another PR


[T4A5][F09-B2] Xu Chen

Ready for review

Some comments added. Please close the PR after reading comments.


Clean up our Parameter Store entries for releases

Now we're using weco-deploy for everything, and weco-deploy doesn't write anything to Parameter Store, we should clean up all the old Parameter Store entries which are stale and not used.

This seems to be done.


[AutoPR apimanagement/resource-manager] add readonly property private ip address in addtional location

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2881

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/1577


Use LogPrintf instead of LogPrint

Why?
PS. same question applies to #663

For consistency since LogPrintf is used elsewhere in this method.   When reading the code, I thought it was doing something different but when I looked at the definition, they are the same.
different issue:  why is #define used instead of static const in masternode-budget.h and other places.
#define VOTE_ABSTAIN  0
should be changed to
static const uint32_t VOTE_ABSTAIN = 0;
Many recommend against using the preprocessor for constants (see Scott Meyers).  If you agree they all should be changed to const, I will submit a pull.

Ah, I see. But no, they are different. Note that LogPrint here uses debug category mnbudget to suppress log output and prevent unwanted log spam unless you really want to see it (i.e. you are debugging budget messages with -debug=mnbudget cmd-line switch). LogPrintf however ignores categories so it will always write to debug.log which is no good in this particular case.
RE define->static: this part is off topic here but I agree we should name/use things in a more consistent way...  blame @evan82 for this :stuck_out_tongue_winking_eye: Not sure if it's critical though... I guess you can make a PR and we'll move this part of discussion there (let's see what others think about it).

Okay, thank you and I will submit a separate pull request for the #define proposal.  This masternode budget code is really impressive.   @evan82, you and the rest of the Dash development team should get more recognition for this innovative technology.


Tensorflow on Spark: A Deep Dive into Distributed Deep Learning

演講主題 Talk Topic: Tensorflow on Spark: A Deep Dive into Distributed Deep Learning
講者姓名 Name: Evans Ye
單位名稱 Organization & Job Title: VerizonMedia
講者簡介 Self Introduction:

Yu-Hsin Yeh (Evans Ye) is a former VP and PMC member of Apache Bigtop. He worked for VerizonMedia (Yahoo!) as an Engineering Manager and oversees the system architecture of an 25+ engineers team. He loves to code, automate things, and tackling big data challenges. Aside from engineering stuff, he is also an enthusiast in giving talks to share software innovations and cutting-edge technologies. His latest talk were to introduce Apache Calcite on DataCon.TW 2018. On the other hand, Evans had talked about Apache Bigtop’s several new features on Dataworks Summit 2017 San Jose, Apache: Big Data 2017/2016/2015. He also presented the SDACK architecture on DockerCon 2016. In addition to that, 2 times Big Data Innovation Summit speaker, 2 times HadoopCon speaker, 2 times Taiwan Hadoop user group speaker, and dozens of company internal talks make him an experienced presenter.

講題摘要 Abstract:

Deep Learning these days become the de-facto standard for data scientists to build data products especially for text and image specific problems. With GPU, deep learning can achieve 10-100X performance improvement compared to traditional CPU processing. That makes a huge difference and sometime can turn a business project from non-feasible to feasible.
In this talk, we'll dive deep into how Verizon Media(Yahoo) tackle on the problem of  distributed deep learning. Firstly, we'll give you an overview of the Verizon Media(Yahoo) open sourced solution: TensorflowOnSpark. We'll also walk you through several distributed GPU training solutions and the difference between the system architectures. Secondly, a more lightweight DL on Spark solution is built by the team led by me which is more focus on usability, productivity, and flexibility. The solution utilizes several advanced PySpark features and is built around PySpark's developer friendly characteristics to make distributed DL easy as ever for data scientists.

講題摘要 Abstract:

Deep Learning these days become the de-facto standard for data scientists to build data products especially for text and image specific problems. With GPU, deep learning can achieve 10-100X performance improvement compared to traditional CPU processing. That makes a huge difference and sometime can turn a business project from non-feasible to feasible.
In this talk, we'll dive deep into how Verizon Media(Yahoo) tackle on the problem of  distributed deep learning. Firstly, we'll give you an overview of the Verizon Media(Yahoo) open sourced solution: TensorflowOnSpark. We'll also walk you through several distributed GPU training solutions and the difference between the system architectures. Secondly, a more lightweight DL on Spark solution is built by the team led by me which is more focus on usability, productivity, and flexibility. The solution utilizes several advanced PySpark features and is built around PySpark's developer friendly characteristics to make distributed DL easy as ever for data scientists.


Sugget to use a soon-to-be-removed functionality

Hello,
I'm looking for an alert system to use with Azure SQL databases and I found this article (https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-insights-alerts-portal), but the functionality you suggest is going to be dismissed soon (June 2019, as also stated in the Azure Portal).
So I consider this document not only wrong, but also misleading users.
Please can you remove the article or suggest a solution that will work in 6 months?
Thanks,
Paolo

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c790b13c-3cac-5f70-f59e-63ac2bc38417
Version Independent ID: 33a1b0b1-0123-47e8-6ad7-ba460eef1bd5
Content: Use Azure portal to create SQL Database alerts
Content Source: articles/sql-database/sql-database-insights-alerts-portal.md
Service: sql-database
GitHub Login: @aamalvea
Microsoft Alias: aamalvea

@pablhoney Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

I am feeling the same. I want to create a 'New Alert' (not Classic) based on DTU level but finding nothing and the portal just says there are no metrics for SQL database.  Using Classic Alerts seems futile.

@pablhoney similar query has been answered in the below thread, could you please refer that thread.
https://github.com/MicrosoftDocs/azure-docs/issues/19064
I am closing the thread. If you need further clarifications please reopen this issue.


Fix global step

Sorry about that I forget to apply the global step in #24 to apply_gradient function😂. So I raise this PR for fixing it.

ok.

@yujincheng08, the testing phase have some tiny problems since the output of lane detection branch should be smoothed and the output of lane existence prediction branch should be processed by the sigmoid function. You can have a look at the testing code as well as the corresponding codes.

@yujincheng08, I have modified the testing code and it can fulfill the above functions now.


Add has(Class<?> clazz) shortcut method

Oh I like this. For consistency purposes would it be possible to also add an hasNot varient of this?

Sure, i'll add it.

@freemo I added the change. I don't know whether a force push actually invokes a github notification.

@Jotschi  Wonderful! thanks. I will check into it. We usually use gerrit rather than pull requests, but pull requests are accepted too :)

@Jotschi So i spent a bit more time looking into this. The way it is currently written it relies on the default type resolution key rather than the actual one. It would fail if custom key names were used. Might want to consider adding a getter to the PolymorphicTypeResolver for the typeResolutionKey and access that instead.

 I just realized most of this feature was already implemented check out PolymorphicTypeResolver.hasType, that is the whole point I created it. I do however like that we couple this into the gremlin pipeline as you are attempting to do. So I recommend instead you create a notHasType() method in the resolver as well and then use these in the gremlin pipeline instead of what you are doing now.

Yes, you are right. I did not notice that method. Unfortunately the methods are only accepting VertexTraversal / EdgeTraversals. But i have a gremlinpipeline at hand. Any suggestions on how to get the traversal from the pipeline? I could in any case enhance the TypeResolver interface and add a method that checks hasType / hasNotType using GremlinPipelines.
The method hasType(VertexTraversal<?,?,?>, Class<?>) in the type TypeResolver is not applicable for the arguments (FermaGremlinPipeline, Class<capture#11-of ?>)

Well you are trying to add "hasType" and "hasNotType" to the EdgeTraversal and VertexTraversal classes (or rather their associated concrete classes).. So you should be able to use the methods as is.. just do something like this from within your method definition:
return typeResolver.hasType(this, theClass);

@freemo I update the PR and added a bugfix for a minor error that i encountered while using Ferma with blueprint neo4j2

@Jotschi This PR has been merged. Thank you for your contribution.


Not able to add dropZones

I'm using angular webpack starter with angular2 beta.9 and ng2-dnd 1.0.4 and have this html

Menu

Menu1

Menu2

Menu3

Dashboard

Container1:

Widget 1

Widget 2

Widget 3

Widget 4

Container2:

Widget 5

Widget 6

Widget 7

Widget 8

Container3:

Widget 9

Widget 10

Widget 11

Widget 12

I would like to drag the widgets into the sub menus, in my case the widget from container1 and 3 into Menu1.
But in some way the declaration of [dropZones] in dnd-draggable seam to not work
in private _isDropAllowed(): boolean { in dnd.droppable.ts the value for this._dragDropService.allowedDropZones.length is always 0
I'm doing something wrong?

I saw
private _onDragStart(event: Event): void {
        console.log('ABC: ', event, this.dragEnabled, this.dropZones);
        if (this.dragEnabled) {
            this._dragDropService.allowedDropZones = this.dropZones;
            this._onDragStartCallback(event);
        }
    }

will be called two times, first time this.dropZones has the right values and the second time it is an empty array?

@akserg okay I found the problem.
The problem is, I have one dnd-draggable per container and then always four dnd-draggable for each widget into the container.
I have to drag the whole container or some widget from the container.
In this case the onDragEvent will call first for the widget with the declared dropZones and then for the whole container which hasn't declared dropZones!
So how can I handle this use case?

I have created plunker you can use for testing you application: http://embed.plnkr.co/yYk2hU/
Can you fork my planker and update it accordingly with you code, so I will explore it to find the issues you met. It would be nice if you will briefly explain what you trying to develop.

@akserg  okay thx, I will do it tomorrow, for today I have to do some other things.
do you think you can add also the functionality a drag&drop like switch positions for containers? Your lib does the wor for dragging into anything using html5 dragging function.
But I need also to drag DIVS (containert) for switching their positions.
I will share tomorrow your forked plnkt with my updates.

Hi,
here is my forked and changed plnkr example
http://plnkr.co/edit/ltolE7?p=preview
In this example Container1 until Container2 and Widget1 until Widget 12 al
are draggable, and here it works fine. I'm able to drag al widget also if
they are a child of container which is also draggable. In my app this is
not working, I will give a look to it.
The thing I want to do now is, al Containers a droppable into Menu1, Menu2,
Menu3 as the Widget1-10 can do!
But the f more I want to do with the Containers is, to change there
position. so Container 1 i want to drag after Container 3 and so on. This
is a normal DESKTOP - ICON drag and drop behavior, with your lib we can
drop a element into a other one, and that is great. It's better working
then every other lib i tried. But I also need the possibility to drag a
Container before or after an other one, so this is nit a DROP operation but
a drag and change position, many other libs do this. That's the thing I
need to simulate my DESKTOP in the browser =)
what do you think
thx
Michael
2016-03-20 20:27 GMT+01:00 Sergey Akopkokhyants<EMAIL_ADDRESS>
I have created plunker you can use for testing you application:
http://embed.plnkr.co/yYk2hU/
Can you fork my planker and update it accordingly with you code, so I will
explore it to find the issues you met. It would be nice if you will briefly
explain what you trying to develop.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-198997537

I;m busy implementing 'sortable' Drag-and-drop components. Need to finish with unittests and I planning to issue the new release tomorrow.

@akserg that's great to hear, the cortable Drag-and-drop thing is that what I needed!! GREAT
thx

@akserg
I'm sorry to stress you, really sorry! We kicked off dragula today and we are waiting for your sortable function.
Another question, is it possible to emit the events "dragStart" "dragEnd" and "dragCancelld"???
thx
Michael

Ah, you don't stress me.
I realized my solution didn't accept sortable one and I decided to redesign and recreate it completely, and this is why it takes to long, but now all sorted, I'm busy with final unit tests for sortable, update demo, plunker and I'm are done.

Yes, I will add emitters for those events at the end, so will unit tests them as well.

Okay thx, on friday I have a presentation and if I can implement this until
there It will really thankfull
Am 23.03.2016 6:31 nachm. schrieb "Sergey Akopkokhyants" <
<EMAIL_ADDRESS>
Yes, I will add emitters for those events at the end, so will unit tests
them as well.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-200455484

Ok.
Beer from you. :)

Finally, ng2-dnd version 1.1.0 available over NPM registry. You may find examples in references projects. Web pack is not work for now - I need have a look. Check this plunker to see it in action: http://plnkr.co/edit/yFdvPT?p=info

Thx I will try it tomorrow morning, great!
There are several problems on latest angular2 webpack starter, which I
discussed last days on github.
I spent 2 days to get it work again.
Am 23.03.2016 10:46 nachm. schrieb "Sergey Akopkokhyants" <
<EMAIL_ADDRESS>
Finally, ng2-dnd version 1.1.0 available over NPM registry. You may find
examples in references projects. Web pack is not work for now - I need have
a look. Check this plunker to see it in action:
http://plnkr.co/edit/yFdvPT?p=info
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-200555918

It would be nice to know how did you fix the issues with webpack.

On 24 Mar 2016, at 00:41, mburger81<EMAIL_ADDRESS>wrote:
Thx I will try it tomorrow morning, great!
There are several problems on latest angular2 webpack starter, which I
discussed last days on github.
I spent 2 days to get it work again.
Am 23.03.2016 10:46 nachm. schrieb "Sergey Akopkokhyants" <
<EMAIL_ADDRESS>
Finally, ng2-dnd version 1.1.0 available over NPM registry. You may find
examples in references projects. Web pack is not work for now - I need have
a look. Check this plunker to see it in action:
http://plnkr.co/edit/yFdvPT?p=info
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-200555918

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

It depends I had many problems, what are your problems?
2016-03-24 4:06 GMT+01:00 Sergey Akopkokhyants<EMAIL_ADDRESS>
It would be nice to know how did you fix the issues with webpack.

On 24 Mar 2016, at 00:41, mburger81<EMAIL_ADDRESS>wrote:
Thx I will try it tomorrow morning, great!
There are several problems on latest angular2 webpack starter, which I
discussed last days on github.
I spent 2 days to get it work again.
Am 23.03.2016 10:46 nachm. schrieb "Sergey Akopkokhyants" <
<EMAIL_ADDRESS>
Finally, ng2-dnd version 1.1.0 available over NPM registry. You may
find
examples in references projects. Web pack is not work for now - I need
have
a look. Check this plunker to see it in action:
http://plnkr.co/edit/yFdvPT?p=info
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-200555918

—
You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/akserg/ng2-dnd/issues/3#issuecomment-200633960

Sorted.


Post-Fix, plugin still breaks

I got trampled and hit the button, that's where I think I recreated the audio issue. It said "...1..." and nothing else. Wanted to keep testing so I didn't reset it. Next it said "2, 1..." nothing, and continued to be messed up for 2 more attack changes. BUT I did immediately get trampled b2b after the first trample. After clicking reset and starting again it worked throughout the kill.

It's still just not working properly for me. I just did my first run in about a month since I was previously posting in the other thread and I'm experiencing the exact same problems. Also, for me the issue was happening without having clicked the trample button.


Updated to dotnet 7

Updated BFF to dotnet 7

Codecov Report

Merging #1528 (3ce8ad3) into main (42e27d2) will increase coverage by 18.87%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1528       +/-   ##
===========================================
+ Coverage   25.86%   44.73%   +18.87%
===========================================
  Files          59       74       +15
  Lines        1044     1435      +391
  Branches       50        0       -50
===========================================
+ Hits          270      642      +372
- Misses        764      778       +14
- Partials       10       15        +5

see 21 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

question: should all/some of the following files be updated as well:

.vscode\launch.json
.github\workflows\dh-ci-dotnet.yml
.github\actions\dotnet-tests-prepare-outputs\action.yml
codegen.ci.ts


Homotopy for Modelica.Fluid---Tests and examples

Reported by msielemann on 15 Dec 2011 15:40 UTC
In order to implement homotopy in Modelica Fluid, tests shall be made using MSL from branch
https://svn.modelica.org/projects/Modelica/branches/development/Homotopy3.3-dev
and the changes implemented according to tickets #665, #666, #667, #668.
This shall be done along the ideas presented in
https://www.modelica.org/events/modelica2011/Proceedings/pages/papers/04_2_ID_131_a_fv.pdf
Please include test models in ModelicaTest.Fluid and derive a number of examples for inclusion in Modelica.Fluid

Migrated-From: https://trac.modelica.org/Modelica/ticket/669

Modified by beutlich on 6 Oct 2015 21:13 UTC

Changelog removed by beutlich on 6 Oct 2015 21:13 UTC

Comment by fcasella on 14 Dec 2015 23:00 UTC
Accepted tickets

Comment by fcasella on 14 Dec 2015 23:08 UTC
Not enough time to handle this for MSL 3.2.2 and test properly. Rescheduled to next minor revision

Comment by beutlich on 20 Dec 2016 19:50 UTC
Unhide in agreement with msielemann and otter.