Allow extensions of IndexSearcher to provide custom SliceExecutor and slices computation

Description
For concurrent segment search, lucene uses the slices method to compute the number of work units which can be processed concurrently.
a) It calculates slices in the constructor of IndexSearcher with default thresholds for document count and segment counts.
b) Provides an implementation of SliceExecutor (i.e. QueueSizeBasedExecutor) based on executor type which applies the backpressure in concurrent execution based on a limiting factor of 1.5 times the passed in threadpool maxPoolSize.
In OpenSearch, there is a search threadpool which serves the search request to all the lucene indices (or OpenSearch shards) assigned to a node. Each node can get the requests to some or all the indices on that node.
I am exploring a mechanism such that I can dynamically control the max slices for each lucene index search request. For example: search requests to some indices on that node to have max 4 slices each and others to have 2 slices each. Then the threadpool shared to execute these slices does not have any limiting factor. In this model the top level search threadpool will limit the number of active search requests which will limit the number of work units in the SliceExecutor threadpool.
For this the derived implementation of IndexSearcher can get an input value in the constructor to control the slice count computation. Even though the slice method is protected it gets called from the constructor of base IndexSearcher class which prevents the derived class from using the passed in input.
To achieve this I am making change along the lines as suggested on discussion thread in dev mailing list to get some feedback

I agree that we should either have the executor or the slice executor configurable.
On fixing the slice executor without making it configurable, my guts feeling is that it is going to be difficult to guarantee default behaviour that is good for all the consumers.
I agree that executing slices on either the caller thread or the executor makes it difficult to reason about what happens where and to appropriately size thread pools. Though to have a clear distinction between a coordinator thread pool and a collection thread pool, sequential execution should also be offloaded to the executor which is somehow controversial. I am a bit nervous about making this the default, hence the thought on exposing a SliceExecutor abstraction that  is configurable and can make these decisions. Could it be an idea to move some portions of IndexSearcher#search(Query, CollectorManager) to the SliceExecutor itself, for it to deal with task creation and execution as a whole?

Thanks @jpountz and @javanna for the discussion. I also agree that we should have either of executor or SliceExecutor. However, given there are already constructors accepting executor adding constructor to only accept SliceExecutor will break the consumers using IndexSearcher(IndexReader r, Executor executor) and passing null for executor. Thinking out loud I feel those usage is also incorrect as those consumers should just use IndexSearcher(IndexReader r) instead. I am not sure if this will be fine considering the behavior can still remain same which means it will still be backward compatible ?

I agree that executing slices on either the caller thread or the executor makes it difficult to reason about what happens where and to appropriately size thread pools. Though to have a clear distinction between a coordinator thread pool and a collection thread pool, sequential execution should also be offloaded to the executor which is somehow controversial. I am a bit nervous about making this the default, hence the thought on exposing a SliceExecutor abstraction that is configurable and can make these decisions

I agree here that exposing SliceExecutor is giving the extension opportunity to customize it based on their use case and default implementation can remain as is.

Could it be an idea to move some portions of IndexSearcher#search(Query, CollectorManager) to the SliceExecutor itself, for it to deal with task creation and execution as a whole?

I am not sure on this as currently SliceExecutor doesn't know anything about details of the tasks passed to it and just controls how the tasks needs to be executed. I think task creation should still remain in IndexSearcher otherwise we may end up making SliceExecutor aware about internals like Collector or CollectorManager

@jpountz and @javanna Seems like there is plan of feature freeze by this Fri (06/16) for next release. I was really hoping if we can get it in the 9.x release and would appreciate your help on this issue and how to progress on it.

heya @sohami, while I suggested making SliceExecutor pluggable, I also understand the implications that Adrien brought up. Especially, it does not feel like configuring slices is the right reason to make slice executor pluggable at this stage. We may still do it in the future. In order to unblock you I'll make a counter proposal: would it work to provide the slices as a constructor argument instead, for cases where the default slicing does not satisfy your requirements? Assuming that you have access to the IndexReaderContext before creating your index searcher extension, you could create slices externally and provide them?

Could you share what you'd want to customize around the slice execution? I've also been looking at it and there's a number of things that I'd want to adjust. I am open to making things pluggable but I think there should be a good reason compared to changing the default behaviour.

In default, SliceExecutor (i.e. QueueSizeBasedExecutor) it applies the backpressure in concurrent execution based on a limiting factor of 1.5 times the passed in threadpool maxPoolSize. If the queue size goes beyond that it ends up executing all the tasks in caller thread.
In OpenSearch, there is a search threadpool which serves the search request to all the lucene indices (or OpenSearch shards) assigned to a node. Each node can get the requests to some or all the indices on that node.
With custom slice computation to control the max slices per request/index the limiting factor in SliceExecutor will not be needed. For example: if all the indices on a node is limited to have 2/4 slices each then the threadpool shared to execute these slices does not need to have any limiting factor. In this model the top level search threadpool will limit the number of active search requests on the node which will limit the number of work units in the SliceExecutor threadpool and will keep the behavior uniform across the requests.

heya @sohami thanks a lot for sharing more context.

With custom slice computation to control the max slices per request/index the limiting factor in SliceExecutor will not be needed.

Good point, agreed. Also, QueueSizeBasedExecutor is quite opinionated and non configurable, and it gets applied based on an instanceof check on the provided executor which is not fantastic.
Another thought on my end: executing sometimes on the caller thread, and sometimes on the executor makes things hard to reason about: how do you size the two thread pools if you can't easily tell what load they are subjected to?
Instead of making the slice executor configurable then, I would considering removing it entirely, and forcing the collection to always to happen on the separate thread pool. I think we'll need to figure out how to handle rejections from the executor thread pool, as today the collection happens on the caller thread whenever there's a rejection which I don't think is a behaviour we want to keep. We could also leave this to the executor implementation that is provided.
I believe that the QueueSizeBasedExecutor was contributed by OpenSearch: would the approach suggested above be feasible for you folks? I am thinking it would simplify things and provide a better user experience for Lucene users.

Take the LeafSlice[] in constructor to allow for custom slice computation.

Sounds good, I'll happily review that change.

Discuss different options to customize SliceExecutor or we will want to replace it with some other interface

Ok to discussing, I do think that making things pluggable is a change that's difficult to revert in terms of backwards compatibility, and I think we should put some effort into changing the current behaviour before we add new public abstractions.

Take the LeafSlice[] in constructor to allow for custom slice computation.

Sounds good, I'll happily review that change.

Discuss different options to customize SliceExecutor or we will want to replace it with some other interface

Ok to discussing, I do think that making things pluggable is a change that's difficult to revert in terms of backwards compatibility, and I think we should put some effort into changing the current behaviour before we add new public abstractions.

Strong -1 t replacing the interface. I think it has worked well for many users for a while and it would be breaking back compatibility to serve a specific use case.
I am just catching up on this thread -- why does the current SliceExecutor not work for extension in this case?

@atris To summarize, there are 2 separate functionality I am looking to add:

Custom slice computation which the extension can provide. For this we can provide a constructor in IndexSearcher which takes in LeafSlice array from extension. I think probably there is no concern with this.

Mechanism to provide custom SliceExecutor implementation or deprecate this with some other mechanism. I would ideally like to provide a mechanism for extensions to be able to give a custom implementation of it. The default implementations takes into consideration certain limiting factor to apply back pressure which will not be needed in all the cases (as shared above) and will also simplify the reasoning behind which slices got executed on which thread-pool. So keeping the existing default and giving the flexibility to customize it is what I guess will be helpful here. This is still being discussed and would be great to hear your feedback as well.

@javanna @atris I have create a PR (#12374) for item 1 above for now.

Strong -1 t replacing the interface. I think it has worked well for many users for a while and it would be breaking back compatibility to serve a specific use case.

@atris which interface do you mean? It's a package private class. There is no breaking change associated to that. I am talking about improving the default behaviour around concurrent execution of slices, as opposed to making the execution code a public interface.


No card type found?

I've tried to install this card both via HACS and then manually instead, but after restarting my HA, and trying to create this card in my dashboard, there is no custom circle-sensor-card available to select from the card types. If I try to create the card manually, using YAML, I get an error stating:
'No card type found'

This is using:
Home Assistant Core 2022.5.5
Home Assistant Supervisor 2022.05.3
Home Assistant OS 8.1
Kernel version 5.15.41

This was just a browser cache issue - clearing cookies and temp files and restarting sorted it!


Log inside windows service

Hi, this is not exactly a issue, i think i'm do not know how use correctly the LoggerPro.
I have a windows service to update database and exe on my clients and i'm using the file "LoggerProConfig" to write logs and see errors or other important messages.
But, when i use for example "Log.Error('TEST', 'TEST');" i don´t see new line in file.
There is anything i need to do to correct this problem?
Thank you since now.

Can you show your LoggerProConfig.pas file?

Good morning.
I copied the file from Samples/02_file_appender and make change with folder creation, to save file in [exepath]\Log.
This is the file i´m using. I changed extension to txt to upload in github.
LoggerProConfig.txt

Did you solved the problem?

No. I'll try later and say if I found a solution. New tax rules coming in my country, I ended up developing another project.


After being updated, easily corrupted

Using the new version, Run the XCTests, the sqlite will report this error:

sqlite error :malformed database schema (?)

你的XCTests代码发出来看下


[MWPW-139072][Technical Debt] - Cards block Unit Test

Added Integration test for Cards block
JIRA ticket: https://jira.corp.adobe.com/browse/MWPW-139072
Test URLs:
Before: https://stage--express--adobecom.hlx.page/express/learn/blog?martech=off
After: https://cards-ut--express--adobecom.hlx.page/express/learn/blog?martech=off

Codecov Report

Merging #447 (93d2843) into stage (856cf04) will increase coverage by 0.07%.
Report is 6 commits behind head on stage.
The diff coverage is 12.12%.

@@            Coverage Diff             @@
##            stage     #447      +/-   ##
==========================================
+ Coverage   29.88%   29.95%   +0.07%
==========================================
  Files         124      123       -1
  Lines       23713    23621      -92
==========================================
- Hits         7086     7076      -10
+ Misses      16627    16545      -82

Files
Coverage Δ

express/blocks/schemas/schemas.js
9.09% <ø> (+0.75%)
:arrow_up:

express/scripts/utils.js
32.64% <100.00%> (-0.32%)
:arrow_down:

express/blocks/puf/puf.js
5.00% <9.37%> (+0.17%)
:arrow_up:

... and 4 files with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


Pass Cookie Options from jwt Middleware to getCookie/getSignedCookie

Fixes #2398. Adds support for getSignedCookie while also allowing for all options to getCookie/getSignedCookie to be set. Sets the cookie option to have the type:
cookie: string | { key: string, secret?: string | BufferSource, prefixOptions?: CookiePrefixOptions }

The key names reflect the parameter names from getCookie and getSignedCookie. Tests still need to be added and ran for this.
Author should do the followings, if applicable

[ ] Add tests
[ ] Run tests
[ ] yarn denoify to generate files for Deno

I could use some help writing the tests for this.

Hi @HeyITGuyFixIt
I'll check the details later!

Hi @HeyITGuyFixIt
You can use this test:

describe('Credentials in signed cookie', () => {
  let handlerExecuted: boolean

  beforeEach(() => {
    handlerExecuted = false
  })

  const app = new Hono()

  app.use(
    '/auth/*',
    jwt({
      secret: 'a-secret',
      cookie: {
        key: 'cookie_name',
        secret: 'cookie_secret',
      },
    })
  )

  app.get('/auth/*', async (c) => {
    handlerExecuted = true
    const payload = c.get('jwtPayload')
    return c.json(payload)
  })

  it('Should not authorize', async () => {
    const req = new Request('http://localhost/auth/a')
    const res = await app.request(req)
    expect(res).not.toBeNull()
    expect(res.status).toBe(401)
    expect(await res.text()).toBe('Unauthorized')
    expect(handlerExecuted).toBeFalsy()
  })

  it('Should authorize', async () => {
    const url = 'http://localhost/auth/a'
    const req = new Request(url, {
      headers: new Headers({
        Cookie:
          'cookie_name=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiaGVsbG8gd29ybGQifQ.B54pAqIiLbu170tGQ1rY06Twv__0qSHTA0ioQPIOvFE.i2NSvtJOXOPS9NDL1u8dqTYmMrzcD4mNSws6P6qmeV0%3D; Path=/',
      }),
    })
    const res = await app.request(req)
    expect(res).not.toBeNull()
    expect(res.status).toBe(200)
    expect(await res.json()).toEqual({ message: 'hello world' })
    expect(handlerExecuted).toBeTruthy()
  })
})

Hi @Code-Hex !
What do you think about this PR? If you can, could you review it? I pasted my test code above, but I'm not sure it's enough.

Hi @HeyITGuyFixIt
Thank you for changing. And last things. Can you do the two following things?

bun run lint:fix && bun run format:fix
bun run denoify


Publish to Gradle Plugin Portal

closing as released;
https://plugins.gradle.org/u/pun-ky / pending approval


In "Shrink the Database" Section

In "Shrink the Database" Section when we attempt to launch SQLCMD using ./SQLCMD.EXE -S "(localdb).\ADSync" -U  -P , the execution fails stating "Password: Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed
for user" and this is the case with the account used during installation or a user who is a member of the local administrators or Sync Service account or a user who is member of local group ADSyncAdmins
If we do not specify -U and -P switch then execution completes successfully. So ideally SQLCMD should be executed as SQLCMD using ./SQLCMD.EXE -S "(localdb).\ADSync".
As per the article for SQLCMD https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15. "If neither the -U option or the -P option is specified,  sqlcmd tries to connect by using Microsoft Windows Authentication mode. Authentication is based on the Windows account of the user who is running sqlcmd"

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

@rrajan82 Thank you for your PR.  The username and password are for a sysadmin or a dbo owner of the sql database.  These may differ from you AD username and password.  In some instances, windows authentication may be enabled for use with the sysadmin account but it may not.  This depends on how your org has SQL setup.  For this reason, we leave the -U and -P switches in the example to demonstrate that this may be specifically required.  Thanks!
#please-close


latest flag doesn't install the latest LTS

Adding latest flag doesn't install latest LTS version. Is it possible to fix that or leave it and create new flag --lts ?

The inline help is inaccurate. It should be the latest current version.


slight cleanup

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

have a great day!


Problem with german

Hello folks!
I have a problem to design a german page (culture de-DE), because my customers should be allowed to switch between a "sub-culture" of the german language:
You can address people with "Du" or "Sie" formality. But how can i distinguish between both in the de-DE culture of asp.net localization?

@seriouz you can easily support sub cultures in ASP.NET Core as the following:
var supportedCultures = new []
{
     new CultureInfo("de-AT"),
     new CultureInfo("de-DE"),
     new CultureInfo("de-CH"),
     new CultureInfo("de-LI"),
     new CultureInfo("de-LU"),
};

options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;

and you can know the selected culture using
var selectedCulture = ViewContext.HttpContext.Features.Get<IRequestCultureFeature>().RequestCulture.Culture;


cwt with fft convolution support

This pull request contains the support for fast convolution support with fast fourier transform (FFT) as discussed in issue #479 .
The speed improvement is visible for signals over signal/scales over 100/50, and becomes highly significant by more than a factor 10 for EEG like signals with 100K+ samples.
From a user point of view the only change is the new keyword method='fft', the behaviour of the function has been kept identical to the 1.0.2 release for both signature and dtype of output. Support for compliance between input and output dtype has been prepared.

The patch passes the 1500+ test suite and provides additionals tests which compare the numerical results of both methods.
documentation has been added to the cwt() function header

This is my first pull request on GitHub, please tell me if everything is in order

Great, thanks @alsauve! I will take a look.
The initial failures in the automated Windows testing on Appveyor are related to lack of np.float128 (and np.complex256) on that platform. Probably it is best to explicitly check for the existence of these attributes before adding them to the dictionary of test cases (e.g. using  hasattr(np, 'float128')):

Hi @grlee77,
For this typing issue, after some digging I found in numpy.core.numeric that a dict is provided for this kind of issue.
Example :
np.sctypes['complex']
Out[18]: [numpy.complex64, numpy.complex128, numpy.complex256]
np.sctypes['float']
Out[19]: [numpy.float16, numpy.float32, numpy.float64, numpy.float128]

Before upgrading to a more robust type handling in cwt() I  suggest to comment out for the time being the test function draft test_cwt_dtype()

This looks pretty good. I will push some minor stylistic changes to your branch and then leave comments on any remaining issues.

I found in numpy.core.numeric

Nice, I was not aware of that one.  I would just delete test_cwt_dtype for now. We can add dtype-related tests in a separate PR addressing dtype handling.

Also, my changes in a767fc6 are mostly to code that predates this PR. They do not change any functionality, but are just things I noticed and updated a bit when making the other style fixes. The refactored code should be a bit more efficient, but it won't make a big difference because the computation time is dominated by the convolutions.

A merged version has been pushed with the comments taken into account.
Also the next_fast_len() in cunjunction with caching of the fft of data buffer improved significantly the performances (see figures in change request), so it is included ins this version.

The appveyor build has failed due to the new requirement on module scipy for next_fast_len
This can be an issue if the goal for pywt is to keep a dependency list as small as possible.
Otherwise the required function is short an can be included as it depends only on standard python functions.

Yeah, we don't want to require scipy, but could make it an optional dependency and just fall back to the simple power of two solution when it is unavailable. (try/except ImportError)
In the future it may be beneficial to allow use of the fft from scipy rather than numpy because we have plans on the scipy end to allow user configuration of the fft library used under the hood. Hopefully we will have a student working on that this summer as part of Google Summer of Code, but that has not been finalized yet. I would just keep using np.fft.fft for now.

It used to be that NumPy and SciPy were both using FFTPack to do the FFTs. Very recently (for the upcoming 0.17 release), NumPy switched to pocketfft instead. Based on its readme:
Efficient codelets are available for the factors:

2, 3, 4, 5, 7, 11 for complex-valued FFTs
2, 3, 4, 5 for real-valued FFTs

The SciPy function uses factors 2, 3 and 5 so it will still be applicable (although neglecting potential factors of 7 and 11).

BTW I made plots of a benchmark reference with a jupiter notebook here:
CWT method benchmark
The first run was somewhat biased by a cron job so I'll rerun rerunning the bench on my laptop. But the general idea is there, the graph helps understanding where the method change become interresting.

BTW I made plots of a benchmark reference with a jupiter notebook here:
CWT method benchmark

Great. I will try to run that with base numpy (nomkl) and then one with (mkl). I think both variants are now available via conda-forge.
We also have a benchmark suite for some things in PyWavelets, although we have not set up any mechanism to host the results online (I think NumPy does that for theirs). If you look in the benchmarks subfolder there is a README.rst that describes it a bit.
There is a basic benchmark for cwt here:
https://github.com/PyWavelets/pywt/blob/master/benchmarks/benchmarks/cwt_benchmarks.py
We could add a case to also loop over methods. If you want to try that we could add it in this PR or we can leave it to a future PR. If you do so, you have to test the benchmarks locally to make sure they run. They do not get automatically run by the CI services.

Hi @alsauve: sorry this PR was neglected for some time. I think it looks pretty good. I updated the import logic a bit and added a cases running the FFT-based variant to the CWT benchmarks.
Benchmark results (with SciPy 1.3, so using scipy.fftpack for the FFTs):
As expected, cases with larger size and larger number of scales show large benefit for the FFT-based approach.
via asv run --python=same --quick in the benchmarks folder:
[  2.63%] ··· cwt_benchmarks.CwtTimeSuite.time_cwt                                                                                ok
[  2.63%] ··· ====== ========= =========== ========== =========== ========== ============ ===========
              --                                         max_scale / method
              ---------------- ----------------------------------------------------------------------
                n     wavelet   16 / conv   16 / fft   64 / conv   64 / fft   256 / conv   256 / fft
              ====== ========= =========== ========== =========== ========== ============ ===========
                32      cmor     6.22±0ms   5.93±0ms    9.79±0ms   17.0±0ms    55.7±0ms     79.2±0ms
                32     cgau4     10.3±0ms   12.3±0ms    19.3±0ms   28.1±0ms    74.0±0ms     102±0ms
                32      fbsp     8.94±0ms   12.6±0ms    25.4±0ms   43.2±0ms    140±0ms      211±0ms
                32     gaus4     6.77±0ms   9.17±0ms    15.7±0ms   26.5±0ms    62.6±0ms     97.6±0ms
                32      mexh     6.41±0ms   7.90±0ms    16.2±0ms   26.8±0ms    76.3±0ms     117±0ms
                32      morl     6.54±0ms   8.97±0ms    16.4±0ms   27.2±0ms    76.1±0ms     119±0ms
                32      shan     9.11±0ms   12.5±0ms    25.5±0ms   42.5±0ms    145±0ms      207±0ms
               128      cmor     9.02±0ms   11.5±0ms    23.5±0ms   30.2±0ms    131±0ms      131±0ms
               128     cgau4     10.6±0ms   12.5±0ms    22.0±0ms   29.1±0ms    97.0±0ms     102±0ms
               128      fbsp     9.58±0ms   13.2±0ms    33.2±0ms   45.9±0ms    217±0ms      218±0ms
               128     gaus4     6.78±0ms   9.43±0ms    17.6±0ms   25.7±0ms    80.3±0ms     98.6±0ms
               128      mexh     6.37±0ms   9.89±0ms    18.5±0ms   28.7±0ms    99.8±0ms     121±0ms
               128      morl     6.42±0ms   9.01±0ms    18.8±0ms   28.1±0ms    78.0±0ms     90.8±0ms
               128      shan     7.93±0ms   10.2±0ms    25.9±0ms   36.6±0ms    197±0ms      190±0ms
               512      cmor     8.93±0ms   9.34±0ms    30.3±0ms   26.6±0ms    219±0ms      111±0ms
               512     cgau4     8.76±0ms   11.2±0ms    24.5±0ms   25.0±0ms    148±0ms      90.2±0ms
               512      fbsp     10.5±0ms   11.6±0ms    52.4±0ms   36.0±0ms    466±0ms      198±0ms
               512     gaus4     6.65±0ms   7.95±0ms    24.0±0ms   28.9±0ms    128±0ms      106±0ms
               512      mexh     7.70±0ms   10.2±0ms    27.4±0ms   32.6±0ms    156±0ms      130±0ms
               512      morl     7.33±0ms   10.9±0ms    27.7±0ms   31.8±0ms    187±0ms      87.3±0ms
               512      shan     7.31±0ms   8.12±0ms    37.0±0ms   27.0±0ms    486±0ms      179±0ms
               2048     cmor     8.36±0ms   8.16±0ms    56.5±0ms   25.9±0ms    949±0ms      122±0ms
               2048    cgau4     8.47±0ms   8.61±0ms    67.2±0ms   43.5±0ms    600±0ms      138±0ms
               2048     fbsp     23.6±0ms   20.9±0ms    186±0ms    59.3±0ms    2.19±0s      253±0ms
               2048    gaus4     5.97±0ms   6.86±0ms    25.1±0ms   25.0±0ms    274±0ms      92.4±0ms
               2048     mexh     10.6±0ms   11.3±0ms    42.3±0ms   35.8±0ms    423±0ms      149±0ms
               2048     morl     11.1±0ms   13.2±0ms    56.4±0ms   43.7±0ms    438±0ms      111±0ms
               2048     shan     12.8±0ms   10.6±0ms    186±0ms    36.7±0ms    1.90±0s      254±0ms
              ====== ========= =========== ========== =========== ========== ============ ===========

I will probably have to rebase on current master to get the CI to pass here.

Hi @grlee77, good to hear about you. I was myself pretty busy and also neglected to restart this thread.
The times of your benchmark seem in line with my own checks here.
And the performance inversion is clearly visible for large scales.
I remember now that the last addition of scipy next_fast_len() had improved significantly the processing times.  I consider this path pretty stable and usable as is, so you can proceed for the merge :-)

@rgommers: Is there any objection to an optional import of scipy here? We fall back to numpy when it is not available so we do not need to add SciPy as a dependency.
I guess importing scipy may add 100-200 ms to the import time of PyWavelets, but I don't see much other drawback to allowing this and I think the potential to use the new functionality in scipy.fft makes it worth it.
@alsauve: The rationale for preferring scipy.fft when available is that this new SciPy module is based on pypocketfft rather than FFTPack and has a number of performance and accuracy improvements. It also has mechansims for the user to offload the FFT computations to third party libraries that define an appropriate backend.

@rgommers: Is there any objection to an optional import of scipy here? We fall back to numpy when it is not available so we do not need to add SciPy as a dependency.

I agree, useful speedup. Would be good to add SciPy in one of the CI runs though.

closes #479

Thanks @alsauve!


Reading from a file of list of users and crawling through their basic info

I am trying to get the basic info of a user like name, alias, bio, number of followers, following, posts by giving an input file with list of instagram profiles and implemented it using threads. But I get connection refused error randomly for even a valid profiles as there might be a limit set by the instagram.
Is there any other way of overcoming it and improve the below code.
concurrent = 4

def get_data_and_write_json():
    while True:
        username = q.get()
        print(username)
        browser = init_chromedriver(chrome_options, capabilities)
        information = []
        invalid_users_list = []
        connection_refused_user_list = []
        try:
            information = extract_information(browser,  username, Settings.limit_amount)
        except NoInstaProfilePageFound:
            time.sleep(5)
            print("No profile is found with the user " + username)
            invalid_users_list.append(username)
            Datasaver.save_invalid_profiles_list(username)
    #sys.exit(1)
        except TooManyRequestsError:
            time.sleep(5)
            print("Connection is refused for user " + username)
            connection_refused_user_list.append(username)
            Datasaver.save_connection_refused_users_list(username)

        if username not in invalid_users_list:
            Datasaver.save_profile_json(username,information)

        q.task_done()

        browser.delete_all_cookies()
        browser.quit()

q = queue.Queue(concurrent * 2)
for i in range(concurrent):
        t = Thread(target=get_data_and_write_json)
        t.daemon = True
        t.start()

try:
    filename = get_input_file_name()
    with open(filename) as inp:
        for ip in inp:
            username = ''
            username_array  = ip[:-1].split("/")
            if username_array[-1] != "":
                username = username_array[-1]
            else:
                username = username_array[-2]
            q.put(username.strip())
        q.join()

except KeyboardInterrupt:
    browser.quit()
    sys.exit(1)

Which error did you get?

I get these Too Many Requests Error (http error code 429) and it skips the profile to the next one. The same error occurs for few valid profiles continuously and the it works normal and so on. Is it something to do with the above code or because of the limit set on the server side.?

"429 Too Many Requests" is the answer. You've been crawling to much with your ipadress on instagram. (which is official not allowed) so they block you.
possible solutions:

crawl less
use different interconnection / server
use proxy

proxy:
replace
browser = webdriver.Chrome('./assets/chromedriver', chrome_options=chrome_options)

with
proxy_address = "123.456.789.000"
proxy_port = "8080"

prox = Proxy()
proxy = ":".join([proxy_address, proxy_port])
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = proxy
prox.socks_proxy = proxy
prox.ssl_proxy = proxy
prox.add_to_capabilities(capabilities)
browser = webdriver.Chrome('./assets/chromedriver', chrome_options=chrome_options)

I tried it but getting below exception,

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "crawl_profile.py", line 69, in get_data_and_write_json
    information = extract_information(browser,  username, Settings.limit_amount)
  File "/home/dell/work_deena/instagram-profilecrawl/util/extractor.py", line 226, in extract_information
    web_adress_navigator(browser, user_link)
  File "/home/dell/work_deena/instagram-profilecrawl/util/util.py", line 48, in web_adress_navigator
    WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "viewport")))
  File "/home/dell/.local/lib/python3.6/site-packages/selenium/webdriver/support/wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

Specifying 'socksProxy' requires an integer for 'socksVersion'
use proxy_port = 8080 instead of proxy_port = "8080"

Tim, can I use the above proxy setting on Mac?


Restyle playbook to install community OpenShift Origin v3.9

Updated several playbooks to install Origin 3.9 on CentOS 7, for those using community/upstream versions of OpenShift.

Changed &/or removed RHEL-* entitlement registration
updated package list in group_vars for community versions of needed packages
slightly edited playbooks to remove rhel-* registration, & install community repos instead

Thanks for PR but this looks upon first glance like it will only work for origin. I will accept PR into release-3.9 branch if it adds origin as option or another thing I would do is you can do PR to new branch so call it release-origin-xx. Would that work?

A new branch will work! I'll close this one & make another PR.

Perfect I will merge PR under new branch
Keith
On Wed, Jul 25, 2018 at 8:12 PM, T. Nichole Williams <
<EMAIL_ADDRESS>wrote:

A new branch will work! I'll close this one & make another PR.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ktenzer/openshift-on-openstack-123/pull/10#issuecomment-407846694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAauj0dZAQA9eBKq_GUe5fS-wWyJ19cfks5uKLUbgaJpZM4VgeNR
.


Shutdown vm from menu bar.

Is your feature request related to a problem? Please describe.
no
Describe the solution you'd like
I would like to shutdown orbstack vm from menu bar
Describe alternatives you've considered
I normally just do orb shutdown via terminal.
Additional context
the menu bar already gives you an option to start the vm.

Click "Quit" in the menu bar extra to shut it down. We are intentionally moving to a simpler lifecycle where the background service is more tied to the GUI app, as the previous behavior (independent lifecycles) was too confusing for many users.

The menu bar app will automatically start again if you start the service from a terminal by running orb.


Parametrize operand images

this PR moves the values of the different Apicurio Registry images to the build script, so they are replaced in the operator yaml when the operator image is replaced...
I need this change so registry images can be easily changed in release testing.

@jsenko I added some new changes, this will be useful to execute the e2e testsuite in the apicurio-registry operator allowing me to use latest images built in CI ... could you review this and merge it if you like it please ?

ok, my bad, this is not really needed atm, closing PR


Create a CI workflow for building and testing AtomVM on FreeBSD

There is a way to run FreeBSD inside of virtualbox on MacOS runners in github actions.
Here is one example:
https://github.com/marketplace/actions/freebsd-vm
The idea here would be to use this action to create a CI so that we can also build and test AtomVM on FreeBSD.

Closed via #866


Backport: Add support for Dimension(...).grain(...) in where filter

Resolving: SL-631
Description
Due to MetricFlow's reliance on version 0.2.x of DSI, the updates to support Dimension(...).grain(...) need to be made to this branch as well. I just combined the work from these PRs into this one https://github.com/dbt-labs/dbt-semantic-interfaces/pull/156, https://github.com/dbt-labs/dbt-semantic-interfaces/pull/154, https://github.com/dbt-labs/dbt-semantic-interfaces/pull/152
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

I unfortunately don't think we can back port this. Core imports the WhereFilterParser, and this changes that import path. Core's import of DSI is ~=0.2.0 in dbt-core 1.6.0 through 1.6.5, if we backported and released this, all fresh installs of those versions would break.

Is that the only issue? If so, can we add an import alias to the backport then? We should be able to put in a module in the original location that imports this WhereFilterParser (or defines a WhereFilterParser class that wraps it, if there are API changes that need to be managed).

Yay! 🚢


Vue devtools tab not showing up in firefox devtools

Version
6.0.0-beta.15
Browser and OS info
Firefox 89.02/ Linux Mint 20.1 Cinnamon
Steps to reproduce
After installing the vue dev tools xpi from the beta channel I am unable to see the vue devtool tab in the console area. Vue is installed using vite if that makes a difference.
What is expected?
To see the dev tools extension in the firefox developer tools tabs
What is actually happening?
The tab never appears but it shows  Vue.js is detected on this page.

Also having this issue. Same version of devtools.
Browser and OS info
Firefox Developer Edition 91.0b9 / Windows 10.0.19043.1110

Same on mac.
Browser and OS info
FIrefox Developer Edition 92.0b3 / macOS Big Sur 11.4

You can try this:
Add this code in main.js
if (process.env.NODE_ENV === 'development') {   Vue.config.devtools = true   if (typeof window.__VUE_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined') {     window.__VUE_DEVTOOLS_GLOBAL_HOOK__.emit('init', Vue)   } }

Same here. Toggling on and off the devtools solved my problem.

I had the same problem since the tab was disabled in my dev tools settings; not sure when/why it was disabled. It would be nice if the extension could warn about this or auto-enable it when the extension is activated.
This is where you check if the tab is enabled in Firefox Developer Tools:


App not loading on windows

Hi
I try to use trayasen on windows with my desk but I don't achieve to launch it.
The first time, I had an error when I tried to connect my desk. After that, when I launch trayasen, nothing happen...
I tried to remove the app then reinstall but nothing change, nothing appear.
Do you know a way to totally reset trayasen ?
Thanks

As I reisntall the software, I have no configuration file.

That is definitely weird, and should not happen. After the configuration file deletion, it should behave the exact same way as when you open the app for the first time. The configuration file is the only differentiator when it comes to how the app should behave when opened.
Will try to reproduce this 🙏


Clarifies delivery_tag index

Stumbled upon what I think is a typo regarding the prefetching window.
In the example the next unacknowledged index is 5 and not 8 (which is the last) and I assume the intention is to exemplify using delivery_tag set to 5?
“Obvious Fix”

@eliasson Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@eliasson This Pull Request contains an obvious fix. Signing the Contributor License Agreement is not necessary.

Thank you but the docs are correct as they are. Acknowledgement of any pending delivery will allow RabbitMQ to push a new delivery. I will merge this (we appreciate your time and review!) and clarify in a separate commit.


.env file not working

Environment data

VS Code version: 1.41.1
Extension version (available under the Extensions sidebar): 2019.11.50794
OS and version: macOS 10.14.6
Python version (& distribution if applicable, e.g. Anaconda): 3.7.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): virtualenv
Relevant/affected Python packages and their versions:
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): Language Server ("python.jediEnabled": false)

Expected behaviour
Env vars set in .env file should be present in python and in terminal.
Actual behaviour
Env vars missing.
Steps to reproduce:

Create an empty folder, brand new simple workspace
Create a .env file in the workspace folder
Set a variable FOO=bar in the .env file
Run a simple envtest.py python file via Cmd+Shift+P: "Run python file in terminal"

import os
print(os.environ.get('FOO'))

The printed value is None, the env var is not set
The env var is also not present in the integrated VSCode terminal echo $FOO

FWIW, I also tried setting python.envFile in .vscode/settings.json to the absolute path of the .env file and it still does not work.

Closed as dup of https://github.com/microsoft/vscode-python/issues/944
Please upvote that issue to bump its priority.


Update continuous-error-tracking-faqs.md

Final entries for CET FAQs.
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65b980d56462c9554ab7255c--harness-developer.netlify.app


Task distribution (developing algorithm, documentation, unit test)

As @sharmistharanit said she wants to make the documentation, @poojashresthacode can take another of the remaining two parts (developing algorithm and unit test). Everybody, please let us know your opinion.

No, I would like to do the unit test part.

Okay,
@poojashresthacode, which part (documentation/developing algorithm) would you like to complete?

I will do documentation


Pushes have not sent

Hi, guys.
The push notifications no more works for me.
I have more than 30 thousands users, but only some push notifications.
Please, fix this issue.
Thanks.

Hey @kasnitski, thanks for the report.
It looks like a backend or configuration issue. Since we are using FB Bug Tool for those - could you file a bug at https://parse.com/help


Investigate why browserify is needed for test to run properly

Without browserify, failing tests cause indefinite hanging. (See comments in #72). Since the tests are already getting bundled by webpack, running it through browserify is redundant. Find out how we can take out browserify without tests hanging.

@bertrandk What was the reason that this was deferred?

Mostly a matter of priority @itanex given it's not very severe (zero user impact really...just an oddity). If you want to take a crack at it, I'd love the help. I'm also available if you have any questions.

Gotcha. I assumed as much. I have a bunch of work on my plate now, this seems like fun to add to it. I will see what I can do.

I'm working on this issue and found a fix. Pull request will be out soon

This issue has been solved by PR #207


improve query speed by 30%

@amaltaro, Alan please review. Although this not changing the result of the data but it seems it improves the speed of query 30%. I thought it would be the other way, since previous query doesn't have to reduce. But it seems it is more of data size it is transferring than the computation work on reduce.  I think we should put this on this release since we are suffering from the performance of wmstats.

So I ran few tests on this. I guess it depends on the network speed.
When I ran on the browser
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?decending=false&reduce=false
took 18 sec with 3 MB data
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?group=true&decending=true&reduce=true
and took 12 sec with 2MB data
But when I ran in vocms machine
first query took 1 sec
and second query 9 sec.
One thing I found is there are duplicate data in production with id
cmsgwms-submit7.fnal.gov-pdmvserv_task_EXO-RunIISummer16MiniAODv3-05478__v1_T_180920_073540_4259
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?startkey=["pdmvserv_task_EXO-RunIISummer16MiniAODv3-05478__v1_T_180920_073540_4259"]&endkey=["pdmvserv_task_EXO-RunIISummer16MiniAODv3-05478__v1_T_180920_073540_4259", {}]&reduce=false

The performance is depending on the network speed so actually without reduce it is faster but since the data size is bigger when reduce is false (which contains duplicate information (id)) total time is longer with slow network.
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?desending=true&reduce=false
It took 18 sec sec 3 MB data at home with Chrome
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?group=true&decending=true&reduce=true
It took 12 sec with 2 MB data
But when I ran the same query on vocms box, first query took 1 sec and second one 8 sec
I still think we need to update this patch.
One thing I am worried is that in production database there is duplicate document. I am not sure why newer revision doesn't overwrite this.
https://cmsweb.cern.ch/couchdb/wmstats/_design/WMStatsErl/_view/latestRequest?startkey=["pdmvserv_task_EXO-RunIISummer16MiniAODv3-05478__v1_T_180920_073540_4259"]&endkey=["pdmvserv_task_EXO-RunIISummer16MiniAODv3-05478__v1_T_180920_073540_4259", {}]&reduce=false

Seangchan, I can't make much sense of your examples, your first and second query are linear, 6sec/MB no matter whether it has reduce true or false.
Is it only wmstats using this _getLatestJobInfo method? How it uses that info?

The data is contains exactly the same information. But with reduce = false in added duplicate information since it send id as well which is in value field.
{"id":"cmsgwms-submit7.fnal.gov-amaltaro_Run2018A-v1-DoubleMuon-17Sep2018_1024p1_181018_184027_2551","key":["amaltaro_Run2018A-v1-DoubleMuon-17Sep2018_1024p1_181018_184027_2551","cmsgwms-submit7.fnal.gov"],"value":{"id":"cmsgwms-submit7.fnal.gov-amaltaro_Run2018A-v1-DoubleMuon-17Sep2018_1024p1_181018_184027_2551","timestamp":1541176615}}

But reduce true, this is what it is transfered.
{"key":["amaltaro_Run2018A-v1-DoubleMuon-17Sep2018_1024p1_181018_184027_2551","cmsgwms-submit7.fnal.gov"],"value":{"id":"cmsgwms-submit7.fnal.gov-amaltaro_Run2018A-v1-DoubleMuon-17Sep2018_1024p1_181018_184027_2551","timestamp":1541176615}}
So it always transfer more data when we reduce false although computation is probably cheaper.
We can change the view itself "return null" and use reduce = false. But that is not backward compatible and error prone. (But if you prefer, we can change that way, I will try to run more through test).

I think #8892 is better fix but need more throw testing as I mentioned it above.

IMO, we could either:

merge this one and cut a new tag for Lina for Monday morning (did you check whether there is any other code using that view and using the id/key instead of values?)
we wait until December upgrade and merge your other fix

Hi Alan, I think we should do 1.
This fix is basically no change in previous code. So backward compatible. The other one is might affect some where else in the code (not just in WMCore).
I will check whether there is any other things need be changed and create a new tag and make the pull request before Monday.
Thanks for reviewing.


Different results from unique() and difference of deduplicated set

Dear all,
I have a document set that returns a duplicate accorind to unique():
len(docset) -> 1014
len(docset.unique()) -> 1013
However, len(docset-docset.unique()) -> 0
I found this when I wanted to output the title of the duplicate that is supposedly eliminated by unique, however I do not get any since the difference has zero documents.
Best, Lars.

Hi! Thanks for the bug report.
I've given this some careful thought, and although this behavior might seem counter-intutive, it is indeed correct.
The - operator relies on "fuzzy" matching to determine which documents from the left-hand set should be excluded, based on the right-hand set. In the case you described, where there are two identical documents, docset-docset.unique() results in an empty set. This happens because the "fuzzy" matching treats the same document as present in both sets (likely due to matching DOI).
Nonetheless, I can see how it is odd that there is no way to retrieve which documents were removed by unique.
Would it work for you if we were to add a duplicates() method? This method would specifically return the duplicate documents, ensuring that len(docset) = len(docset.unique()) + len(docset.duplicates()).

Hi, yes, that would help. It was exactly the idea - I just wanted to see what had been identified as duplicated. Best, Lars.


Is it possible to show the center and width, height line in rectangle labeling?

If this is possible could you indicate how please ? otherwise this could be an interesting feature plus a circle labeling instead of ellipse .


Missing requiremnts.txt ?

The README instructs to run:
pip install -r requirements.txt

Maybe you forgot to version it ?

Sry for this. We have added the requirements.txt


Fix bash quoting in template executable

Signed-off-by: Lewis Gaul<EMAIL_ADDRESS>This PR addresses https://github.com/beeware/briefcase/issues/274.
The problem was that the formal name is used for the bash executable, which means it can contain spaces. When running APPDIR=$(dirname $(readlink -f "$0")) in a file called "Hello World" this expands to APPDIR=$(dirname /home/legaul/helloworld/linux/Hello World) -> APPDIR="/home/legaul/helloworld/linux ."... And then we have a space floating around giving us a bad time :)
This PR adds the necessary quotes (have confirmed this fixes the issue). However, is it really desirable for the executable to use the formal name rather than the app name?

This may need porting to the other branches? I haven't checked.


Support for variadic SET command

Redis SET command also support variadic arguments
 SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET]

https://redis.io/commands/set
note from the page mention that
Note: Since the SET command options can replace SETNX, SETEX, PSETEX, GETSET, it is possible that in future versions of Redis these commands will be deprecated and finally removed.

Good idea. We'll look into implementing this.


How to use “email report”?

I Can't follow the documentation. I can't see the entry in the menue? Should  the Admin see this?
I have a local installation and admin rights.

Or is it a bug?

You need to set ENABLE_SCHEDULED_EMAIL_REPORTS = True in your config.py file

I tried it. I have inserted ENABLE_SCHEDULED_EMAIL_REPORTS = True, but the menu items are still not displayed.

Same problem: ENABLE_SCHEDULED_EMAIL_REPORTS = True inserts the divider, but "Dashboard Email Schedules" and "Chart Emails" are not visible.

I am unable to reproduce the error locally on admin account on master; have you tried this on either 0.34 or master and followed the upgrade instructions?

@sandy-ha please run superset init again in terminal, because FAB(FlaskAppbuilder) will initialize reportmenu access permission

@zhaoyongjie, thank you. It works

return self.run(*args, **kwargs)

File "/home/superset/superset/tasks/schedules.py", line 386, in schedule_email_report
deliver_slice(schedule)
File "/home/superset/superset/tasks/schedules.py", line 350, in deliver_slice
email = _get_slice_data(schedule)
File "/home/superset/superset/tasks/schedules.py", line 277, in _get_slice_data
response = opener.open(slice_url)
File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/lib/python3.6/urllib/request.py", line 570, in error
return self._call_chain(*args)
File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.6/urllib/request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
OSError
Mail can't be sent out

This is my setup
WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"
EMAIL_REPORTS_WEBDRIVER = "chrome"

class CustomCeleryConfig(object):
    BROKER_URL = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
    CELERY_IMPORTS = ('superset.sql_lab', )
    CELERY_RESULT_BACKEND = 'redis://%s:%s/1' % (REDIS_HOST, REDIS_PORT)
    CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
    CELERY_TASK_PROTOCOL = 1
    CELERY_ANNOTATIONS = {
        "sql_lab.get_sql_results": {"rate_limit": "100/s"},
        "email_reports.send": {
            "rate_limit": "1/s",
            "time_limit": 120,
            "soft_time_limit": 150,
            "ignore_result": True,
        },
    }
    CELERYBEAT_SCHEDULE = {
        "email_reports.schedule_hourly": {
            "task": "email_reports.schedule_hourly",
            "schedule": crontab(minute=1, hour="*"),
        }
    }

Celery configuration ， The mail task will be scheduled, but an error will be reported.

This is my setup
WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"
EMAIL_REPORTS_WEBDRIVER = "chrome"

why do you sett WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"?

@Jarvis173  probably you have missing mandatory parameter during adding new schedule record. It might be because of for eg. you left "crontab" section empty,invalid, etc.

@Jarvis173 probably you have missing mandatory parameter during adding new schedule record. It might be because of for eg. you left "crontab" section empty,invalid, etc.

Yes i think crontab i missed. I have no idea about crontab can you please suggest what should be entered there?

@Jarvis173 probably you have missing mandatory parameter during adding new schedule record. It might be because of for eg. you left "crontab" section empty,invalid, etc.

Now i've set crontab as "*/5 * * * *" , the job is created but i haven't received a test mail yet. What else do i need to configure.

@Jarvis173 probably you have missing mandatory parameter during adding new schedule record. It might be because of for eg. you left "crontab" section empty,invalid, etc.

Now i've set crontab as "*/5 * * * *" , the job is created but i haven't received a test mail yet. What else do i need to configure.

Have you got the answer- Did you get the email? i am also facing the same problem.

I have the same issue as @Jarvis173 & @devesharora90, my users get Registration e-mails but not the reports. Did you come across any tips & tricks to make it work?

This is my setup
WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"
EMAIL_REPORTS_WEBDRIVER = "chrome"

why do you set WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"? And I have another question, why the default port in WEBDRIVER_BASEURL is 8080, not 8088.

How did u setup chrome driver?

This is my setup
WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"
EMAIL_REPORTS_WEBDRIVER = "chrome"

why do you set WEBDRIVER_BASEURL = "http://chrome:4444/wd/hub"? And I have another question, why the default port in WEBDRIVER_BASEURL is 8080, not 8088.

pluralize(len(dupes), 'name'), ', '.join(sorted(dupes)),
[2020-07-16 07:58:12,838: ERROR/ForkPoolWorker-1] Task email_reports.send[40ab936e-096a-492d-b3e9-e1694212da22] raised unexpected: AttributeError("'NoneType' object has no attribute 'is_active'",)
Traceback (most recent call last):
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/superset/app.py", line 114, in call
return task_base.call(self, *args, **kwargs)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/celery/app/trace.py", line 650, in protected_call
return self.run(*args, **kwargs)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/superset/tasks/schedules.py", line 381, in schedule_email_report
deliver_slice(schedule)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/superset/tasks/schedules.py", line 342, in deliver_slice
email = _get_slice_data(schedule)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/superset/tasks/schedules.py", line 264, in _get_slice_data
for cookie in _get_auth_cookies():
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/superset/tasks/schedules.py", line 129, in _get_auth_cookies
login_user(user)
File "/opt/apps/ENVS/superset/lib/python3.6/site-packages/flask_login/utils.py", line 158, in login_user
if not force and not user.is_active:
AttributeError: 'NoneType' object has no attribute 'is_active'
How to resolve this error?


Receiving Null Pointer Exception from JavaVI

Actual behavior (Required!)
Open a Java file with NeoVim and attempt to autocomplete java.util.Collection.
Expected behavior (Required!)
The autocomplete menu (Deoplete) to appear with suggestions.
The steps to reproduce actual behavior (Required!)

Start NeoVim
Open .java file
Attempt to autocomplete import java.
Encounter Vim error

Environment (Required!)

OS: Arch Linux
Vim version:
Neovim version: 0.2.2

Q&A

Yes, I tried minimal .vimrc configuraion.
Yes, I have enabled logs with JCdebugEnableLogs and can put here content of JCdebugGetLogContent command, if you need.
Even, if you wish, I can set g:JavaComplete_JavaviDebug to 1, than set g:JavaComplete_JavaviLogfileDirectory, and put here server logs, too.

Screenshot (Optional)
The output of :redir and :message (Optional)
Message
message: packages still empty, try later. indexing...
Error detected while processing function javacomplete#Complete[1]..javacomplete#complete#complete#Complete:
line   38:
javacomplete error: []

JCdebugLogs
 93.432629 [context] context: CONTEXT_IMPORT
 93.432725 [context] dot expression: java.
 93.432918 [complete] get members. fqn: java
 93.436098 [server] communicate: -E java [s:GetMembers for static]
 93.541678 [server]
 93.543286 [server] communicate: -p java [collector#FetchInfoFromServer]
 93.654895 [server] message: packages still empty, try later. indexing...
 93.655192 [complete] package info in directories. package: java
 93.655270 [complete] get source dirs. filepath: [redacted]/Main.java

JavaVI Logs
Exception in thread "Thread-3" java.lang.NullPointerException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
	at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:590)
	at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:668)
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:726)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:430)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:594)
	at kg.ash.javavi.searchers.PackagesLoader.collectPackages(PackagesLoader.java:21)
	at kg.ash.javavi.cache.Cache.lambda$collectPackages$0(Cache.java:55)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
	at kg.ash.javavi.searchers.ClasspathCollector.collectClassPath(ClasspathCollector.java:30)
	at kg.ash.javavi.searchers.ClasspathPackageSearcher.loadEntries(ClasspathPackageSearcher.java:23)
	at kg.ash.javavi.searchers.PackagesLoader.lambda$collectPackages$0(PackagesLoader.java:21)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1492)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:747)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)

It looks like the issue is with javavi, so if I need to file this somewhere else, please let me know.  I thought I would post here first in case anyone has encountered this type of issue before.
Thanks in advance!

For anyone else that might encounter a similar issue, this plugin requires JDK 8, as stated in the README.  I was running JDK 9.  Switching to JDK 8 fixes this issue.


Add explicit on_delete arguments to foreign keys in migrations.

In #1745 I forgot to apply the same changes to the existing migrations, which you also have to do.

Awesome, thanks!


After upgrade Node server crashing

Describe the bug
I upgraded the adapter-node and kit, and changed the hooks to reflect new syntax from https://github.com/sveltejs/kit/pull/3384 and now the server crashes when started with the exit code in log
Reproduction
https://github.com/PH4NTOMiki/sveltekit-book
Logs
file:///home/mutic/dev/sveltekit-book/node_modules/@sveltejs/kit/dist/node.js:64
        res.writeHead(response.status, Object.fromEntries(response.headers));
                                              ^

TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))
    at Function.fromEntries (<anonymous>)
    at setResponse (file:///home/mutic/dev/sveltekit-book/node_modules/@sveltejs/kit/dist/node.js:64:40)
    at file:///home/mutic/dev/sveltekit-book/node_modules/@sveltejs/kit/dist/chunks/index.js:2083:8
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Node.js v17.2.0

System Info
System:
    OS: Linux 5.13 Manjaro Linux
    CPU: (8) x64 Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
    Memory: 1.28 GB / 7.65 GB
    Container: Yes
    Shell: 5.1.12 - /bin/bash
  Binaries:
    Node: 17.2.0 - /usr/local/bin/node
    npm: 8.1.4 - /usr/bin/npm
  Browsers:
    Firefox: 95.0.1
  npmPackages:
    @sveltejs/adapter-node: ^1.0.0-next.66 => 1.0.0-next.66
    @sveltejs/kit: ^1.0.0-next.236 => 1.0.0-next.236
    svelte: ^3.44.3 => 3.44.3

Severity
blocking an upgrade
Additional Information
Everything was working without any issue before update.

I'm guessing it's this line:
https://github.com/sveltejs/kit/blob/1bce8e9eb1539a63bfdafd7a602b33062ea24b77/packages/kit/src/node.js#L64

Can you provide more details about how to reproduce this? Your repro is working fine for me

Actually for me it works sometimes, and sometimes not, (with and without the entries() fix).
In some starts the server works, and in some it just doesn't, I don't understand what's going on

It's like 10:4 ratio

I added a console log to my dist/node.js file, and I'll let you know if i get something from it.

@Rich-Harris Actually I found out what is the error, and event the log shows it, sometimes the response.headers is an object(plain object, not Headers instance), and that's why when the Object.fromEntries is called with object, the error is thrown, the fix should be like this:
res.writeHead(response.status, response.headers.constructor.toString().indexOf('Headers') > -1 ? Object.fromEntries(response.headers)) : response.headers;

@Rich-Harris Actually I found out what is the error, and event the log shows it, sometimes the response.headers is an object(plain object, not Headers instance), and that's why when the Object.fromEntries is called with object, the error is thrown, the fix should be like this:
res.writeHead(response.status, response.headers.constructor.toString().indexOf('Headers') > -1 ? Object.fromEntries(response.headers)) : response.headers;

Something like that, I used constructor to check if it's a Headers but could be(probably there is) something better

A better fix would be to figure out why it's sometimes getting passed an object. Can you use console.trace to get a stacktrace and post that for one of the times that it's a plain object instead of a Headers instance?

A better fix would be to figure out why it's sometimes getting passed an object. Can you use console.trace to get a stacktrace and post that for one of the times that it's a plain object instead of a Headers instance?

Yeah, I understand and agree with you, but it doesn't happen frequently now for me, if it happens I'll write here, but for me that's seems like a quick and easy fix for the issue, that occurs rarely.

Are you returning a headers POJO from a custom handle hook? That could explain it (and we should catch any non-Response return values from handle and throw an error)

Yeah, you are right, actually I figured out that myself a few minutes ago and fixed it with a commit https://github.com/PH4NTOMiki/sveltekit-book/commit/e673854ab7f550e7bf3ff7ab87481e9f7b2a7259 to my repo, it was leftover from the previous version, and it was in a conditional that rarely comes true(it was only when the user is logged out and tried to access the API route) and when I figured out that it errors only when I'm logged-out and I knew where to look


Remove map attribution

This PR removes the attribution of the map when the static export tool is active.
Original ticket: #5015

Have a look, @javisantana. I don't know of a better way to remove the attribution.

bump


Update link in credentials.h to point to grpc.io

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Make tmp directory for all unit tests, remove RecognizeForChopTest from public API and replace some old-style type casts

Thank you.

@egorpugin, ommit 4366d811d44d9c2331dbb4405727e0251bdc01d7 in git master fixes lgtm_test and two other tests on platforms which complain when the non-existing first element of an empty std::vector is accessed.

I tested couple of hours ago and all lstm tests were ok for me.


Implement basic search RPC methods

This PR adds RPC methods for #226.
Refs #224 and #238.
Can be tested with rkusa/xi-mac#feature/search
There is no UI, yet, the menu items can be used
UI: https://github.com/google/xi-mac/pull/47
Current RPC protocol (open for discussion):
Start a search. If chars is not provided, the string under the last selection is used for search.
find
  chars?: string
  case_sensitive?: bool

Find next search hit
find_next
  wrap_around?: bool

Find previous search hit
find_previous
  wrap_around?: bool

There are some open points that require some discussions and that might be suited for their own PR, e.g.:

Use find_progress instead of find (requires some benchmark first to determine a good num_steps value.
And something I'll comment on in the changes

... and some more points which are not strictly search related, but about how spans are handled:
- A way to merge spans (currently the syntect plugin would override the search highlight and vise versa)
Edit: Highlights are no Spans anymore, they are now handled like Selections.
- Update Spans when text changes (I am not yet sure how to solve this efficiently)
Edit: Implemented

A way (hitting Esc?) for removing spans

Edit: refs #324

@cmyr I think this is an important part and I am glad you bring this up (because I kind of forgot that this is something that should be discussed). For my understanding, Spans are not just about styling, but also for carrying metadata (more to come, like soft spans).
The main reasons I went for just using spans were:

need them for styling anyway
they are already transformed during an edit

That is, introducing a new type would require to also transform this type after edits (to make the find result move with the cursor).
So I would have implemented a FindResult type using a BTree of ranges (1 range = 1 find result). Additionally, I would have applied the transformation on each edit. So in the end, I would have kind of copied Spans (but yes, maybe also very similar to the Selection type). Once we have something like span layers, so that find results have their own layer, it is even more like having a dedicated FindResult type.
I also understand the reasoning behind having a separate type (maybe reusing the Selection type) for search results. And now that I am writing this... for "replace all" re-using Selection could indeed be a good fit. However, I do not know the Selection infrastructure to well, especially how tightly coupled they are with the engine. For now, my feeling is still that Spans are a appropriate place for search highlights, but when I think of Spans I might already have the state of spans in mind that is yet to be implemented. Anyway, I'll have a look at the Selection type and reconsider my initial reasoning :)

I was rethinking it today, and agree that search highlights should not live inside the Spans of the editor. Mainly because they should be view-scoped and not buffer-scoped. That is, they live in a data structure within a View. But I am not sure what data structure to re-use. I am leaning towards re-using the Spans type, because it uses a BTree. However using the Selection type could ease implementing replace/replace-all functionality that will come eventually.

paging @raphlinus

I've moved the search highlights into the view re-using the Selection type.

I've updated the PR.
Find is now only executed in the current view region (unless there is no occurrence in the current view region, then view port is scrolled to the first occurrence).
When scrolling, find is executed in the new regions to provide highlights. It thereby keeps track of already searched regions.
On edits, regions around the edits are re-searched.

I've pulled the incremental search out of this PR (can be found here for now https://github.com/rkusa/xi-editor/commit/3f7debf3b275062a8d72cc9342e85834630e1119).
This PR is rdy for review.

I wonder whether find and find_next should really be two separate commands. I assume a front-end would only show one button for both.

I wonder whether find and find_next should really be two separate commands. I assume a front-end would only show one button for both.

Thanks for the feedback! Besides reducing the amount of params that are send over the wire, there is also an actual use case. If you open the find bar that already contains a search string (from previous searches), the search should be re-done but without moving the cursor to the next occurrence. So in this case only the find command is called and not both find and find_next. We could consider re-naming the find command to set_find (or similar), if this makes the behaviour more clear.

Thanks so much for this, it's really impressive work, and a critically important feature.


Provide instructions in INSTALL.md for go modules users

INSTALL.md should include working instructions for how to use this library when using go modules.
I have been unable to accomplish this. To reproduce, save the following as Dockerfile in an empty directory then docker build .:

Step 7/7 : RUN go build main.go
 ---> Running in 5014f5103213
go: finding k8s.io/api/admissionregistration/v1alpha1 latest
go: finding k8s.io/api/admissionregistration latest
go: finding k8s.io/api latest
build command-line-arguments: cannot load k8s.io/api/admissionregistration/v1alpha1: cannot find module providing package k8s.io/api/admissionregistration/v1alpha1
The command '/bin/sh -c go build main.go' returned a non-zero code: 1

Please update INSTALL.md with what the go get ... should be for this to work.

Seconded! Would like to get the 10.0 tag with modules/version 12 of Go -- but how? Andy :)

Ran into this problem as well when using go.mod with go mod download...

../../../go/pkg/mod/k8s.io/client-go@v10.0.0+incompatible/kubernetes/scheme/register.go:22:2: unknown import path "k8s.io/api/admissionregistration/v1alpha1": cannot find module providing package k8s.io/api/admissionregistration/v1alpha1

added instructions in https://github.com/kubernetes/kubernetes/pull/75595/files


ccm start get stuck

Hi,
Thanks for ccm, that's a great tool!
Lately I got an issue where it get stuck when I call ccm start against DSE (regardless of the cluster selected).
When I stop the process it provides the following:
root@MarcUbuntu16:~# ccm start
^CTraceback (most recent call last):
  File "/usr/local/bin/ccm", line 90, in <module>
    cmd.run()
  File "/usr/local/lib/python2.7/dist-packages/ccmlib/cmds/cluster_cmds.py", line 594, in run
    allow_root=self.options.allow_root) is None:
  File "/usr/local/lib/python2.7/dist-packages/ccmlib/dse_cluster.py", line 71, in start
    started = super(DseCluster, self).start(no_wait, verbose, wait_for_binary_proto, wait_other_notice, jvm_args, profile_options, quiet_start=quiet_start, allow_root=allow_root)
  File "/usr/local/lib/python2.7/dist-packages/ccmlib/cluster.py", line 409, in start
    node.watch_log_for(start_message, timeout=60, process=p, verbose=verbose, from_mark=mark)
  File "/usr/local/lib/python2.7/dist-packages/ccmlib/node.py", line 434, in watch_log_for
    time.sleep(.5)
KeyboardInterrupt

Nothing get written in cassandra logs.
Many thanks for the help.
Python version
2.7.12

Hi @MarcMagnin, could you provide all of the steps you took prior to getting to this ccm start, notably the cluster create command?


global: support for Python-3.10

Python-3.10 was released and is available in many distributions.
We should include it in user packages (r-client, r-commons etc) so that users on Python-3.10 can use REANA without troubles. So far we declare supporting Python-3.9 only.
We can also consider whether it would make sense to upgrade also our custer packages (r-workflow-controller etc)  that are still on Python-3.8.

(Note: the former could go into 0.8.1 update, the latter might need to go only into 0.9 I guess...)


Bug Report: no TFEventWriter warning when logger set after constructing TrainConfig

Bug Report
When logger is set after the TrainConfig is constructed then events.out.tfevents files are not written, but also there is no warning when constructing TFEventWriter monitor (as in [1]). I would expect that in this scenario either the TFEventWriter should be able to write to the events.out.tfevents or the warning as in the linked line should be produced.
[1] https://github.com/ppwwyyxx/tensorpack/blame/5fc3a2b1afaa1a6967fac964f77bedb4208cfd37/tensorpack/callbacks/monitor.py#L198
Thanks,
Jakub

╰─$python3 -c 'from tensorpack import *; x = TrainConfig(dataflow=FakeData([1]))'
Failed to load OpenCL runtime (expected version 1.1+)
[1010 09:18:31 @monitor.py:198] WRN logger directory was not set. Ignore TFEventWriter.
[1010 09:18:31 @monitor.py:238] WRN logger directory was not set. Ignore JSONWriter.

Could you double check?

Thanks for your quick replay. Yes, you are right that this warning is printed to the console. However, it is not stored in the log file (e.g. log.log). I used the log file for debugging the problem with no tfevents file being generated and couldn't find the warnings there. I believe that having the warnings in the log would make debugging easier.
The first line of the log is stored only after the log file handler is set in [2]. The TFEventWriter warnings are generated before this file handler is set. Additionally, the InferenceRunner log in [3] is similarly printed only to the console and not to the log file.
Best,
Jakub
[2] https://github.com/ppwwyyxx/tensorpack/blob/a36ad1807632060824a0cb156e644315216085ad/tensorpack/utils/logger.py#L74
[3] https://github.com/ppwwyyxx/tensorpack/blob/d5f3350de60974424feb08057af84fbb82dff21c/tensorpack/callbacks/inference_runner.py#L81

It says logger directory was not set. So there is no log file at that time.

Ok, I might have misunderstood the concept of the log file that is automatically generated during training. I thought it would contain any logs generated by the TensorPack code. However, if understand correctly now, this log is meant to only store the logs generated during the training process (and not during setting up the TrainConfig etc). This makes sense to me and as far as I am concern this issue be closed. Thanks for addressing this concern and keep up the good work :)

Technically, the log file stores any logs generated after you've set the log directory.


Macro: Chem monomer name is not fitting into a shape

Steps to Reproduce

Go to Macromolecules mode
Click the CHEM tab
Click on "Test-6-Ch"
Add it to the canvas

Current behavior
The name of the chem monomers is too long and starts going out of shape.
Expected behavior
Long names of Chem monomers should fit into the shape by moving text to next line (right under the first one)

Task related: https://github.com/epam/ketcher/issues/2497

This bug is no longer reproduced.

Test added to the automation table.

This bug is not relevant. It is fixed in #3902 ticket


Practice problem Sports app: Android Basics with Compose

The bug
Starter Code uses Compose Material
i.e.
implementation "androidx.compose.material:material:$compose_version"
Whereas the codelab  Part 5 step 1 instructs learner to
Add androidx.compose.material3:material3-window-size-class to the app's build.gradle.
To Reproduce
Steps to reproduce the behavior:

Go to app's build.gradle.
add implementation "androidx.compose.material:material:$compose_version" in dependencies section
Gradle Sync Project
See error `A problem occurred evaluating project ':app'.

Could not get unknown property 'material3_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
`

Desktop (please complete the following information):
Android Studio Dolphin | 2021.3.1 Patch 1
Build #AI-213.7172.25.2113.9123335, built on September 30, 2022
Runtime version: 11.0.13+0-b1751.21-8125866 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 3072M
Cores: 6
Registry:
external.system.auto.import.disabled=true
ide.text.editor.with.preview.show.floating.toolbar=false
Non-Bundled Plugins:
wu.seal.tool.jsontokotlin (3.7.4)

Sorry , My mistake . I had mistakenly referenced a non-existent var


_ Prechecks _

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

+0 :ok:
shelldocs
0m  0s
Shelldocs was not available.

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

_ master Compile Tests _

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

+1 :green_heart:
spotless
0m 38s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

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

+1 :green_heart:
shellcheck
0m  0s
There were no new shellcheck issues.

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

+1 :green_heart:
spotless
0m 36s
patch has no errors when running spotless:check.

_ Other Tests _

+0 :ok:
asflicense
0m  0s
ASF License check generated no output?

2m 37s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5648/1/artifact/yetus-general-check/output/Dockerfile

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

Optional Tests
dupname asflicense spotless shellcheck shelldocs

uname
Linux fa4b00656949 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 354a3a2774

Max. process+thread count
43 (vs. ulimit of 30000)

modules
C:  U:

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

versions
git=2.34.1 maven=3.8.6 shellcheck=0.8.0

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

This message was automatically generated.


added r/place app to community apps

Hi, here is a viewer that shows a tidbit of what was created for r/place 2022. It pulls the full r/place image and then animates a portion of the image across the Tidbyt screen. Pretty simple, but the r/place artwork pixel artwork really displays nicely on the device.

I have read the CLA Document and I hereby sign the CLA

recheck

not sure where that second committer is coming from - my name is Jay Wiggins, but my Git handle is @funkfinger.

Do you have a second GitHub account? It's linking both of them. Both accounts with those emails associated need to sign the cla or to make things easier you should redo your git config on your computer and resubmit.

I'm going to close this to see if I can figure out the dual username issue - will re-submit soon...


improve add prompt when all fields is null

Proposed changes
curl --location-trusted -u root:"" -T data.json  -H"format:json" http://<IP_ADDRESS>:8030/api/db/user1/_stream_load -H "jsonpaths: [\"$.NAME\", \"$.AGE\", \"$.AGENT_ID\"]"

before:
Reason: All fields is null, this is a invalid row.. src line [{"name":"Name 1","age":21,"agent_id":"1"}
];

after:
Reason: All fields is null, this is a invalid row. Column names:[name, age, agent_id, ], jsonpaths:["$.NAME", "$.AGE", "$.AGENT_ID"], please check column names and jsonpaths. src line [{"name":"Name 1","age":21,"agent_id":"1"}
];

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall


Include PAYP sequence in newer bootloader IM4Ps

Some bootloader IM4Ps for A16 devices include a new "PAYP" sequence in them:
I'm not yet sure of what they're used for, so I believe a simple way to go about fixing this would be to just store the sequence and add it back when outputting an IM4P, then eventually adding proper support once I know what it's for.

I've began working on adding support for this sequence in #11


Cube example renders differently with OpenGL vs Metal on MacOS

When rendering with Metal:

When rendering with OpenGL:

Thanks for filing the issue! I wonder if we are confused here about ARGB2101010 format. Seems rather unusual for a back buffer. Do you have HDR-enabled screen?

Same problem here on my mac with NVIDIA GeForce GT 650M. Pixel depth is 32-Bit Color (ARGB8888).

It looks like there are two issues (possibly with a single cause):

The single texel "texture" is being interpreted as BGRA event though gfx::format::Rgba8 is specified. The cube shows up as blue if you swap the blue and red in the cube's main.rs.
There's something funny going on with the gamma. Tweaking the format mapping in the metal backend by sending (Rgba8) to BGRAUnorm_sRGB at map.rs:241 (instead of BGRAUnorm) makes the background the right color, but the cube is still too dark.

My guess is this has something to do with the backend silently converting Rgba8 to Bgra8 for render targets, which we do to isolate the user from the fact that CAMetalLayers (i.e. the window) only supports BGRAUnorm, BGRAUnorm_sRGB and RGBA16Float. However Vulkan already requires the same juggling so we should probably stop doing the remapping.

I think this was fixed by #1259 and can be closed.


Support XXH3 ?

Would be great :) :
See https://xxhash.com/

...this library already supports xxh3.
https://github.com/RedSpah/xxhash_cpp/blob/master/include/xxhash.hpp#L1702

Excellent, i didn't see it in the readme so i thought it wasn't there,
thanks
Le mer. 13 mars 2024, 15:23, redspah @.***> a écrit :

...this library already supports xxh3.
https://github.com/RedSpah/xxhash_cpp/blob/master/include/xxhash.hpp#L1702
—
Reply to this email directly, view it on GitHub
https://github.com/RedSpah/xxhash_cpp/issues/36#issuecomment-1994522298,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBK6RGBPYUV77KNG6CSKOLYYBON3AVCNFSM6AAAAABEUHNPQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUGUZDEMRZHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add general documentation

With general documentation I mean:

[x] An introduction
[x] An installation process
[x] A brief statement of purpose, i.e. what is the usefulness of this package.
[ ] Who is the author.
[ ] Who is it intended for.

This is related to the first item in #5 .

The License section of Optim.jl is quite nice, and very easy to implement in order to account for the author.

The first 3 items are implemented in #13 , the following 2 items are missing.

With #15 this issue can be closed! :tada:


How do you benchmark FBPINN and use MultiAdam

Hello Authors,
Thank you for the hard work on the benchmarks.
The demo code did not include any benchmark using FBPINN on different cases nor utilised multiAdam. Can you provide more documentation, please?
Thank you.
Good luck with NIPs!

Hi,
Thanks for your interest. We've done the comparisons using FBPINN and MultiAdam. However, we're currently tidying up the code due to implementation differences. We'll update the documentation with these details soon.


Exit Code is capped at 4927

Returning an exit code higher than 4927 will return an exit code value of 4927.
Also returning a negative exit code will return an exit code value of<PHONE_NUMBER>.
Could it be a problem with the byte code conversion?
    public int extractExitCode(string msgData)
    {
        Byte[] codeBytes = new Byte[4];

        codeBytes = Encoding.ASCII.GetBytes(msgData.ToCharArray(0, 4), 0, 4);
        Array.Reverse(codeBytes);

        return BitConverter.ToInt32(codeBytes, 0);

Hi Matt,
Thanks for reporting this. It isn't quite as straightforward as that since I have an integration test that runs with an exit code of 10000. I will add a test with a negative number to see what happens there and see if we can track this down.

Hi James,
That is possible. I haven’t tested for all cases.
I can’t figure out exactly what is going on.
Thanks for looking into it.
Matt
Sent from my iPhone

On Feb 1, 2018, at 4:57 AM, JamesMc86<EMAIL_ADDRESS>wrote:
Hi Matt,
Thanks for reporting this. It isn't quite as straightforward as that since I have an integration test that runs with an exit code of 10000. I will add a test with a negative number to see what happens there and see if we can track this down.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This is a representation issue. Changed message format to be a string of the number rather than a flattened binary to make it easier to work with. Will be included in next release.


make wasi initilization async

[ ] Added an entry to CHANGELOG.md if this change could be valuable to users

Codecov Report

Merging #2114 (b88c46c) into master (1e5af8e) will increase coverage by 0.00%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@          Coverage Diff           @@
##           master   #2114   +/-   ##
======================================
  Coverage    8.93%   8.94%
======================================
  Files         136     136
  Lines       59255   59216   -39
======================================
  Hits         5295    5295
+ Misses      53960   53921   -39

Impacted Files
Coverage Δ

lapce-proxy/src/plugin/lsp.rs
0.00% <0.00%> (ø)

lapce-proxy/src/plugin/psp.rs
0.00% <ø> (ø)

lapce-proxy/src/plugin/wasi.rs
12.56% <0.00%> (-0.33%)
:arrow_down:

lapce-ui/src/app.rs
0.00% <0.00%> (ø)

lapce-data/src/proxy.rs
0.00% <0.00%> (ø)

lapce-data/src/update.rs
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Term change suggestion SDG2.5 - [crop diversity]

SDG: 2
Target & phrase: 2.5 (1-4)
Suggested term/change: Consider adding "crop diversity" as a synonym. Could also consider testing "availability" as a synonym for access in phrase 4.
Reason: Publications can be lost if using these terms, e.g. https://doi.org/10.1089/bio.2018.29044.ejp

Consider also adding "farmed" as a synonym in phrase 2, i.e. the genetic diversity of farmed xyz (https://doi.org/10.1111/age.12422)

Phrase 2- consider adding genetic NEAR diversity instead of as a phrase, this would catch publications using variations (e.g. unexplored diversity and genetic footprints) , e.g. https://doi.org/10.1038/s41467-020-18404-w

Suggested term/change: Consider adding "crop diversity" as a synonym.

Crop genetic diversity (and variants) will already be found by phrase 2. Allowing all mentions of crop diversity seems too wide, as that would also cover diversity of crops within a farm (e.g. variation in what you grow).


Is there a python implementation of batch represent?

As per the title, is there a python implementation of batch represent?
I am relatively new to lua and in the process of understanding how to create 128 facial embeddings with the codes in batch-represent folder.
I began to have some ideas of how it actually works by going through every single line of the code and I reckoned that it would be better if we have a python implementation.
If there isn't any, I would be happy to port it and submit a PR.
Rex.

Sure I'll merge a python version if that's helpful to you or anybody else.


Rendering mode is not available

Acknowledgement of preliminary instructions

[x] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
I watched a lot of tutorials on youtube about this app, but i noticed every single one of them has the rendering mode, but when i use the app it does not have the rendering mode. Is there something wrong with my laptop or the application?

See the release notes listed on the page where you downloaded it.

"Removed option for choosing the rendering mode. It's now just extremely unstable."

If you absolutely need to change it (which you shouldn't have to), you can configure it manually according to these instructions.

stupid excuse "extremly unstable", i can play roblox with direct3D 11 for hours without any issues

I'll definitely considering this, thanks!


🐛 Bug Report: bool config variable can't be changed

👟 Reproduction steps
Bug concerning Admin interface to handle boolean value due to defautvalue feature
👍 Expected behavior
Error in recent change made on frontend on component "AdminConfigInput.tsx", line 27.
booleanValue:
configVariable.value ?? configVariable.defaultValue == "true",
should be:
booleanValue: (configVariable.value==null) ?  configVariable.defaultValue == "true" : configVariable.value=="true"
👎 Actual Behavior
If value has been set 1 time, you cannot change it again, due to wrong type given in component initialisation.
Test to evaluate as booelan is missing.
🌐 Browser
All browser

Thanks for your report! I've just fixed it in 0e5c67327092e4751208e559a2b0d5ee2b91b6e3. Usually I wouldn't recommend you to run a Pingvin Share version that isn't released yet. But without your report this bug would probably have landed in production.

Thanks.. Good work by the way! Very inspiring dev.


Add missing java api for StreamTestKit

To resolve #970

Thanks: here is some of my feedback:

no curried method in Java dsl
use the functions in japi.function.Function instead.
If you can write some spec to tests this api, then what would be nice too.

If you can write some spec to tests this api, then what would be nice too.

@He-Pin there is no java testcase?

If you can write some spec to tests this api, then what would be nice too.

@He-Pin there is no java testcase?

If you not sure how to write the test cases, I can do a following pr for your pr with tests.

If you not sure how to write the test cases, I can do a following pr for your pr with tests.

yes please, master pin @He-Pin

@naosense @kerr any interest in finishing this? - we might still fit this into 1.1.0-M1 if it can be finished soon

@naosense @kerr any interest in finishing this? - we might still fit this into 1.1.0-M1 if it can be finished soon

I think I can took this on weekend.


Add tutorial for rust package

Add a tutorial how to apply model from rust package.

Created PR in the main repo: https://github.com/catboost/catboost/pull/823


introduce policy output

Codecov Report

Merging #104 (8c49fd5) into master (5a1286b) will decrease coverage by 7.80%.
The diff coverage is 59.93%.

@@            Coverage Diff             @@
##           master     #104      +/-   ##
==========================================
- Coverage   75.52%   67.72%   -7.81%
==========================================
  Files           5       15      +10
  Lines         429      536     +107
==========================================
+ Hits          324      363      +39
- Misses         75      150      +75
+ Partials       30       23       -7

Impacted Files
Coverage Δ

pkg/printer/policy.go
0.00% <0.00%> (ø)

pkg/vault/capability.go
0.00% <0.00%> (ø)

cmd/root.go
57.50% <28.94%> (-10.82%)
:arrow_down:

pkg/vault/kv.go
64.70% <43.75%> (ø)

pkg/printer/printer.go
86.56% <54.54%> (+4.94%)
:arrow_up:

pkg/printer/json.go
66.66% <66.66%> (ø)

pkg/printer/yaml.go
66.66% <66.66%> (ø)

pkg/vault/client.go
66.66% <66.66%> (ø)

pkg/printer/base.go
67.85% <67.85%> (ø)

pkg/printer/template.go
80.00% <80.00%> (ø)

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


🎨 Changed tags screen, filter dropdown, and select input to sort alphabetically

no issue

switch tags sorting from ID based to alphabetical
pre-requisite to nested tags sorting

Coverage increased (+0.002%) to 70.777% when pulling e58d5d2cc420ff4f7f766a8da00bc232cf06573b on kevinansfield:sort-tags into a3c41f92f442b32eb3c7ecc1560c9852f3dcde8c on TryGhost:master.


mirrored items visible

If carousel is wider than all the items you can see the mirrored item.
Also if infinite is false is the mirrored item needed?

I'm wondering the same thing. The mirrored images seem to load regardless.


Test backplane hardware

The backplane power supplies should be verified. Additionally, basic fan control (on/off) should be tested.

Related to #13.

Fan control has not been tested, but #13 was a result of the initial research of the issues with the TPS54561 based backplane.


PyTorch model error with bayes search

This currently doesn't work:
em = AutoEmulate()
em.setup(X, y,param_search=True, param_search_type="bayes", model_subset=["NNMlp"])
best = em.compare()

With this error:
Error fitting model NNMlp
Invalid dimension [<class 'torch.optim.adamw.AdamW'>, <class 'torch.optim.sgd.SGD'>]. Read the documentation for supported types

I guess that this line:
"optimizer": [torch.optim.AdamW, torch.optim.SGD],
isn't compatible with bayes search at the moment.

@mastoffel Is this perhaps something (as a bug) that needs to be prioritised before AI UK? If so, could you estimate size of this issue?

@kallewesterling agree. Size small if it is what I think it is :)

resovled in https://github.com/alan-turing-institute/autoemulate/pull/205


Add one-off test run

Hi Tyrone,
Thanks again for another pull request!
I'm a bit confused though... what's the benefit of only running the tests once?
The functionality seems similar to issue: https://github.com/atam4j/atam4j/issues/31 which I am also a bit confused about.  I never commented on that issue with my thoughts which I'll do now.
Thanks

Hey Phill,
We wanted a way to run the tests once as part of our delivery pipeline to get quick pass/fail feedback. Then the same tests would run continuously on the monitoring instance. At the moment we also have a case where we can't run tests continuously because we don't yet have a way cleaning up/ignoring the state it leaves behind in various services. Once this is sorted, and we had this change available, we could then just remove the runOnce() call.

Hi Tyrone, would you be able to look at my comment on https://github.com/atam4j/atam4j/issues/31
Thanks


updated citadel data in v3 branch

replicated the Citadel data changes in the v3 branch, where maestro is getting this data.

We will need to add v3 versions as well

We will need to add v3 version, using the v3 object and relation formats as well

Is there a file that I should update in this branch?  Or is this future work that needs to be done? Or in a different branch?


Fixes 'invalid use of non-static data member' error on clang 6.0

Why no CI build checks were ran? This change breaks build against gcc-8.1 with:
MediaSDK/tools/bs_parser_hevc/include/bs_mem+.h:56:19: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct BS_HEVC2::TU’; use assignment or value-initialization instead [-Werror=class-memaccess]

@dvrogozh  this patch changed code which has no relation to bs_parser.
Bs_parser just missing some changes which were made in same code for parser in sample_hevc_fei_abr (that sample has it's own copy of bs_parser and code between those two somehow misaligned)

Yeah... Oleg noted to me that this change could not introduce this issue and instead we had misconfigured CI which tested something else rather than gcc-8.1... Well, bad things happen. But now we have a blocker issue.

We used gcc 7 instead of gcc 8... But now it is fixed.


[hunspell] Fix build error on Windows

Describe the pull request

What does your PR fix?
Fixes #17781

Update to use MSBuild instead of Make to build this port on Windows.

Which triplets are supported/not supported? Have you updated the [CI baseline]arm64-windows

arm64-windows and arm-uwp are not supported.
Note: Feature[tools] has passed with the following triplets:

x86-windows
x64-windows
x64-windows-static

Cool, thanks @NancyLi1013 :)