DBZ-8100 Wait for streaming instead of starting connector

If we stop the connector short after its start, we need to wait for streaming phase, i.e. wait for starting all connector tasks. Waiting for connector start return true when connector begins to start its tasks, but to prevent leaking of the resources, async engine doesn't allow stopping the connector until all its tasks are started. Therefore when using async. engine, we have to wait for tasks to be started before stopping the connector, otherwise exception is thrown.
https://issues.redhat.com/browse/DBZ-8100

@vjuranek What happens in case you call stop too early then?

@jpechane depends on what do you mean by to early - if you stop it before tasks are started, nothing happens. If you stop it during starting the tasks phase, the exception is thrown:
2024-07-25T11:32:42.1379092Z java.lang.IllegalStateException: Cannot stop engine while tasks are starting, this may lead to leaked resource. Wait for the tasks to be fully started.
2024-07-25T11:32:42.1380872Z 	at io.debezium.embedded.async.AsyncEmbeddedEngine.close(AsyncEmbeddedEngine.java:238)
2024-07-25T11:32:42.1382654Z 	at io.debezium.embedded.async.TestingAsyncEmbeddedEngine.close(TestingAsyncEmbeddedEngine.java:32)
2024-07-25T11:32:42.1384263Z 	at io.debezium.embedded.AbstractConnectorTest.stopConnector(AbstractConnectorTest.java:158)
2024-07-25T11:32:42.1386254Z 	at io.debezium.embedded.AbstractConnectorTest.stopConnector(AbstractConnectorTest.java:143)
2024-07-25T11:32:42.1387982Z 	at io.debezium.connector.postgresql.NotificationsIT.after(NotificationsIT.java:28)

If you stop is once the connector tasks are started, again, server is shutdown.
All this is because of DBZ-2534, see also this part of async. engine DDD for more details.

SQL server for some reason fails:
2024-07-30T10:32:16.0946428Z [ERROR] io.debezium.connector.sqlserver.NotificationsIT.sinkNotificationWillCorrectlySaveOffsetAfterSnapshot -- Time elapsed: 308.3 s <<< ERROR!
2024-07-30T10:32:16.0950788Z org.awaitility.core.ConditionTimeoutException: Condition with alias 'Streaming was not started on time' didn't complete within 5 minutes because condition io.debezium.embedded.AbstractConnectorTest$$Lambda/0x00007f21043ae410 was not fulfilled.
2024-07-30T10:32:16.0953906Z 	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:148)
2024-07-30T10:32:16.0955441Z 	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
2024-07-30T10:32:16.0956881Z 	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
2024-07-30T10:32:16.0958286Z 	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:873)
2024-07-30T10:32:16.0959662Z 	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:842)
2024-07-30T10:32:16.0961354Z 	at io.debezium.embedded.AbstractConnectorTest.waitForStreamingRunning(AbstractConnectorTest.java:1346)
2024-07-30T10:32:16.0963376Z 	at io.debezium.embedded.AbstractConnectorTest.waitForStreamingRunning(AbstractConnectorTest.java:1337)
2024-07-30T10:32:16.0965366Z 	at io.debezium.embedded.AbstractConnectorTest.waitForStreamingRunning(AbstractConnectorTest.java:1333)
2024-07-30T10:32:16.0968419Z 	at io.debezium.pipeline.notification.AbstractNotificationsIT.sinkNotificationWillCorrectlySaveOffsetAfterSnapshot(AbstractNotificationsIT.java:277)

but the server was started and stopped successfully:
2024-07-30T10:26:43.3965773Z 2024-07-30 10:26:43,210 INFO   NotificationsIT|||engine|  Engine state has changed from 'STARTING_TASKS' to 'POLLING_TASKS'   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:26:43.3967355Z 2024-07-30 10:26:43,210 INFO   NotificationsIT|||engine|  Using io.debezium.embedded.async.ParallelSmtConsumerProcessor processor   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:26:43.3968772Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1||snapshot|  Metrics registered   [io.debezium.pipeline.ChangeEventSourceCoordinator]
2024-07-30T10:26:43.3970193Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1||snapshot|  Context created   [io.debezium.pipeline.ChangeEventSourceCoordinator]
2024-07-30T10:26:43.3971689Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|snapshot|testDB1  A previous offset indicating a completed snapshot has been found.   [io.debezium.relational.RelationalSnapshotChangeEventSource]
2024-07-30T10:26:43.3974709Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|snapshot|testDB1  Snapshot ended with SnapshotResult [status=SKIPPED, offset=SqlServerOffsetContext [sourceInfoSchema=Schema{io.debezium.connector.sqlserver.Source:STRUCT}, sourceInfo=SourceInfo [serverName=server1, changeLsn=NULL, commitLsn=NULL, eventSerialNo=null, snapshot=FALSE, sourceTime=null], snapshotCompleted=false, eventSerialNo=1]]   [io.debezium.pipeline.ChangeEventSourceCoordinator]
2024-07-30T10:26:43.3977615Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|streaming|testDB1  Connected metrics set to 'true'   [io.debezium.pipeline.ChangeEventSourceCoordinator]
2024-07-30T10:26:43.3979038Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|streaming|testDB1  SignalProcessor started. Scheduling it every 5000ms   [io.debezium.pipeline.signal.SignalProcessor]
2024-07-30T10:26:43.3980549Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|streaming|testDB1  Creating thread debezium-sqlserverconnector-server1-SignalProcessor   [io.debezium.util.Threads]
2024-07-30T10:26:43.3982050Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|streaming|testDB1  Starting streaming   [io.debezium.connector.sqlserver.SqlServerChangeEventSourceCoordinator]
2024-07-30T10:26:43.3983684Z 2024-07-30 10:26:43,210 INFO   SQL_Server|server1|0|streaming|testDB1  Last position recorded in offsets is NULL(NULL)[1]   [io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource]
2024-07-30T10:31:43.3615044Z 2024-07-30 10:31:43,341 INFO   NotificationsIT|||test|  Stopping the connector   [io.debezium.connector.sqlserver.NotificationsIT]
2024-07-30T10:31:43.3617398Z 2024-07-30 10:31:43,341 INFO   NotificationsIT|||test|  Stopping the engine   [io.debezium.connector.sqlserver.NotificationsIT]
2024-07-30T10:31:43.3619060Z 2024-07-30 10:31:43,341 INFO   NotificationsIT|||test|  Engine state has changed from 'POLLING_TASKS' to 'STOPPING'   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:31:43.3620455Z 2024-07-30 10:31:43,341 INFO   ||||  Stopping down connector   [io.debezium.connector.common.BaseSourceTask]
2024-07-30T10:31:43.3621760Z 2024-07-30 10:31:43,341 INFO   NotificationsIT|||engine|  Task interrupted while polling.   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:31:43.7619558Z 2024-07-30 10:31:43,711 INFO   SQL_Server|server1|0|streaming|testDB1  Finished streaming   [io.debezium.connector.sqlserver.SqlServerChangeEventSourceCoordinator]
2024-07-30T10:31:43.7622614Z 2024-07-30 10:31:43,711 INFO   SQL_Server|server1|0|streaming|testDB1  Connected metrics set to 'false'   [io.debezium.pipeline.ChangeEventSourceCoordinator]
2024-07-30T10:31:43.7624192Z 2024-07-30 10:31:43,711 INFO   ||||  SignalProcessor stopped   [io.debezium.pipeline.signal.SignalProcessor]
2024-07-30T10:31:43.7625451Z 2024-07-30 10:31:43,711 INFO   ||||  Debezium ServiceRegistry stopped.   [io.debezium.service.DefaultServiceRegistry]
2024-07-30T10:31:43.7626631Z 2024-07-30 10:31:43,711 INFO   ||||  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
2024-07-30T10:31:43.7627713Z 2024-07-30 10:31:43,712 INFO   ||||  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
2024-07-30T10:31:43.7629234Z 2024-07-30 10:31:43,712 INFO   NotificationsIT|||test|  Stopped task #1 out of 1 tasks (it took 371 ms to stop the task).   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:31:43.7630885Z 2024-07-30 10:31:43,712 INFO   NotificationsIT|||engine|  Engine is stopped.   [io.debezium.embedded.async.AsyncEmbeddedEngine]
2024-07-30T10:31:43.7633151Z 2024-07-30 10:31:43,712 INFO   NotificationsIT|||engine|  Engine state has changed from 'STOPPING' to 'STOPPED'   [io.debezium.embedded.async.AsyncEmbeddedEngine]

@vjuranek Thanks, that corresponds to my expectations.

Test failures are unrelated (flaky tests).

@vjuranek Applied, thanks!


Fix join binding and join tree order

Summary of the changes / Why this improves CrateDB
The first issue found by the fuzzer were implicit joins mixed with explicit (outer) joins.
This issue contains two explicit joins joined as implicit join.
In all cases, a wrong join-order led to a wrong result. In particular the binding between implicit and explicit joins is tricky, since explicit joins must be bound first. Once outer-joins are present this can lead to wrong results because they are order-dependent.
This draft is based on the following facts:

The analyzer already creates the join-tree in correct order
If we use JoinRelation instead of JoinPairs we can build the correct join-tree with no effort
The only step which is left is to build the implicit joins

This poc does that and fixes the correct binding of explicit joins especially when implicit and explicit are mixed and the correct order of joins. All join tests are working, but only a few variances of the correlated subquery are left because i stripped the code out.  The change is also backportable.
Checklist

[x] Added an entry in the latest docs/appendices/release-notes/<x.y.0>.rst for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in the latest docs/appendices/release-notes/<x.y.0>.rst
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

@mfussenegger Could please provider early feedback on this ?

retest this please

On a quick glance the approach looks good to me. I've been wondering why we don't preserve the inherent nesting from the AST for the join pairs before.
If this works out without regressions I'm all for it.

Looks great on a quick glance. I think the main reason why we built concrete join pairs where to detect and optimize implicit joins as we didn't had optimizer rules yet.

Thanks for the feedback!


Error Installing Artifactory Extension on TFS 2018

I've been unsuccessful installing the Artifactory extension on TFS 2018. @MightyJay recommended using version 1.3.1 of the extension but I'm unable to locate that version. Installing version 1.5.0 gives me the following error:
Following errors were found in artifact contribution:defaultVersionType is not supported for Artifact source contribution.

@troyattaxact,
A college of mine managed to fix this issue by upgrading TFS.
He said he'll soon share some more details here.

@troyattaxact,
The error "Following errors were found in artifact contribution:defaultVersionType is not supported for Artifact source contribution." is gone when I installed tfsserver2018.3.2.exe. Can you please try to install the mentioned version and let us know if you are able to resolve it. The version it showed after installing from the TFS UI is 16.131.28601.4

I just tried it again using the method I described in issue #66, but now I also only get version 1.5.0 and it no longer shows me the 1.3.1 version. I can't see a method to select an older version, so I guess I was just lucky that I got it to install last time. I can only see the older version when I browse the extension gallery in my local TFS server (since I have already installed that 1.3.1 extension on my TFS server).
If you have the option to update TFS like @amithkm suggests (perhaps even to the new Azure DevOps server), that should fix your problem. Otherwise I don't know how to get an older version of this plugin installed.

I installed the latest version of TFS (16.131.28601.4) and was able to install the Artifactory extension. Thanks for all your help.


Dialog style config-windows stuck in background when using the floating layout

Symptom
Some window classes, such as krohnkite configure dialog appear behind all other windows with no way to pull them to the foreground. This seems to only happen in the floating layout.
How to Reproduce

Enable Krohnkite
Switch to the floating layout
Open the krohnkite options panel
Observe it being obscured by the kwin scripts window

Expected behavior
The floating layout should mimic a non-krohkite desktop, where the focused window is in the foreground unless configured otherwise.
Environment

Distro: Opensuse Slowroll
KWin version: 6.1.5
Krohnkite version: <IP_ADDRESS> release
List of KWin scripts in use: No others active

Notes
The option to float utility windows does not affect this. I'm new to tiling, so I'm sorry if this is a misunderstanding.

Could you post the video with problem, I cannot confirm it.

Sure. Here I enable Krohnkite and open it's configure dialog as well as the kmenu dialog. Both work as expected. I then switch to floating layout and try the same, with the problem present. Opening a full app like Dolphin does not trigger it but any settings-panel seems to.
https://github.com/user-attachments/assets/56607143-b6a7-45fc-a7d2-90dd69dc8eca

Try uncheck Krohnkite settings->Options->Keep floating windows above tiled windows
This option make all floating windows `Keep above others' option on, but all windows you in ignore lists not getting this option because Krohnkite doesn't rule them.

That is the change I was looking for. Kinda odd, that it's a default setting, though I guess the floating layout isn't really meant to be used extensively. Thanks.

I was planning to write that Keep above others option is not the solution to this problem but meanwhile issue #104 has been raised with very good explanation of the original problem in krohnkite regarding layering windows.


how to indicate required fields

It would be very handy to mark fields as required as is done in many other ORM frameworks.
Especially primary keys should be able to be marked as not nullable, as this has lead up to a number of hard to discover bugs in our app lately...
I guess we ourselves could do some tricks with intercepting the dispatch on every model, but this is rather tedious...

@bertBruynooghe Hi! Thank you for the feedback. I agree, it is nice to have validation for the fields.
We should implement this...!

@bertBruynooghe Hi! Thank you for the feedback. I agree, it is nice to have validation for the fields.
We should implement this...!

Recommended reference to this project https://github.com/hapijs/joi

@ChasLui Thanks for the reference! 🤝


Keyboard shortcut conflict

Finally i found this amazing extension, but i have a issue during my daily use.
Please use another shortcut, or let the user decide if it's enabled. The "L" shortcut is conflicting with my Bitwarden extension i use for password completion, which i use more often (once i decided the locale, i never change it).

Hey, you can customize this in the settings both in firefox and chrome :)
https://user-images.githubusercontent.com/14948823/194898832-20c5d1d9-1d1f-465a-886a-93f1e1e90ecc.mp4
https://user-images.githubusercontent.com/14948823/194898850-4e1773e1-0260-4ea2-8db8-0f096daba1d7.mp4


[FEATURE] @NoGetter and @NoSetter for properties

Please provide @NoGetter and @NoSetter on properties to exclude getter/setter of a property.
For example:
@Getter @Setter
public class Test {

// many properties which need getter/setter
...

// few properties which should not have getter/setter
@NoGetter @NoSetter
private desc;

}

There's @Getter(AccessLevel.NONE) doing just this.

yes, did not see that.
// shorter
// maybe lombok can provide this
@NoGetter @NoSetter
private desc;

vs
// longer
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private desc;


Flaky test: two_watchers_one_file

Flaky builds:

https://travis-ci.org/google/xi-editor/jobs/362807823
https://travis-ci.org/google/xi-editor/jobs/367802202

test internal::watcher::tests::two_watchers_one_file ... test internal::watcher::tests::two_watchers_one_file has been running for over 60 seconds
test internal::watcher::tests::two_watchers_one_file ... FAILED

failures:

---- internal::watcher::tests::two_watchers_one_file stdout ----
	thread 'internal::watcher::tests::two_watchers_one_file' panicked at 'assertion failed: `(left == right)`
  left: `[]`,
 right: `[(WatchToken(2), NoticeRemove("/private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/xi-test-two-watchers.WRBjuQKaKk4w/my_file")), (WatchToken(2), Remove("/private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/xi-test-two-watchers.WRBjuQKaKk4w/my_file"))]`', src/watcher.rs:536:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.

failures:
    internal::watcher::tests::two_watchers_one_file

@dtolnay yea good issue, been meaning to fix this.


[NG] Fixes for #771 and #781

Needed to define [clrDgField] input property before [clrDgSortOrder]
Guarded against using undefined for Sort comparator
Used "pointer" for the sortable column header hover cursor

Signed-off-by: Shijir Tsogoo<EMAIL_ADDRESS>

@adityarb88 they were closely related Datagrid sorting issues.


Activity crashes FirebaseAuth.

Selecting a picture causes a crash in FirebaseAuthImplementation.HandleActivityResultAsync(requestCode, resultCode, data); on Android.
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);
    FirebaseAuthImplementation.HandleActivityResultAsync(requestCode, resultCode, data);
}

Some background info:
My app uses 2 login methods, Google or manual e-mail/passwd. If user logs in using Google, everything works fine, but when user logs in using e-mail/passwd, FirebaseAuthImplementation.HandleActivityResultAsync(requestCode, resultCode, data); keeps crashing.
Workaround for anyone getting the same problem:
use try catch.
try
{
    FirebaseAuthImplementation.HandleActivityResultAsync(requestCode, resultCode, data);
}
catch (Exception) { }

@Quetzalcoatl2435 how is your app handling the different login methods? Is there something at the core that is behaving differently in your app if they login different? I have the same paradigm in my app, social/email login, and I am not experiencing this issue.

Closing due to not enough info.


Request icons from https://stellaris.paradoxwikis.com/

It reduces column width a lot.

Oh, such a great idea.


Support for ‘if-else’ spanning nested objects

Currently I am unable to have an ‘if-else’ condition wherein the ‘if’ condition contains attribute from one object and the ‘else’ block has attributes from another object. For example consider the following schema:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "sample schema",
  "required": [
    "home",
    "vehicle"
  ],
  "properties": {
    "home": {
      "type": "object",
      "required": [
        "city"
      ],
      "properties": {
        "city": {
          "type": "string",
          "enum": [
            "Boston",
            "Chicago",
            "Durhum"
          ]
        }
      }
    },
    "vehicle": {
      "type": "object",
      "required": [
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "enum": [
            "Sedan",
            "Suv",
            "Coupe"
          ]
        }
      }
    }
  }
}

Now, if I need to write an if-else bloc wherein the if condition checks the city field and based on the value of city, the then block decides the vehicle model value. Such an if-else block does not work with this library at present. Is it something that could be enabled by this library? @leadpony

Hi @adityamandhare
In my opinion, this is a question frequently asked by users of the JSON Schema.
Please see the link JSON Schema Is it possible to use if/then/else which refer to outside property in Stack Overflow
I tested it with the following JSON schema with if/then/else added to your original schema.
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "sample schema",
  "required": [
    "home",
    "vehicle"
  ],
  "properties": {
    "home": {
      "type": "object",
      "required": [
        "city"
      ],
      "properties": {
        "city": {
          "type": "string",
          "enum": [
            "Boston",
            "Chicago",
            "Durhum"
          ]
        }
      }
    },
    "vehicle": {
      "type": "object",
      "required": [
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "enum": [
            "Sedan",
            "Suv",
            "Coupe"
          ]
        }
      }
    }
  },
  "if": {
    "properties": {
      "home": {
        "properties": {
          "city": {
            "const": "Boston"
          }
        }
      }
    }
  },
  "then": {
    "properties": {
      "vehicle": {
        "properties": {
          "model": {
            "const": "Sedan"
          }
        }
      }
    }
  },
  "else": {
    "properties": {
      "vehicle": {
        "properties": {
          "model": {
            "enum": ["Suv", "Coupe"]
          }
        }
      }
    }
  }
}

Yes it's tedious, but I believe this is the sole way expected by the current JSON Schema specification.

Thanks @leadpony I will give this a try on my schema. Thanks for your quick reply 🙂

I hope this problem was solved.


change Make unittest to -n 1

This PR addresses issue #
Please Check

[ ] Are the JSON schemas updated?
[ ] Are tests passing?

 Fix covid-data-model tests failing on server only


Add back getInodeCount

Codecov Report

Merging #13462 (56fbc04) into master (2ebe171) will decrease coverage by 26.29%.
The diff coverage is 65.10%.

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

alluxio-bot, merge this please


bug with argument system when creating extension

this code

lead to this block

when it should have looked somewhat like
Is () a (boolean v)

You're specifying USERINPUT twice:

see above

You're specifying USERINPUT twice:

oh sorry, I didn't notice it

i fixed it now


Occasional bug, after livekit has been running for a week, room creation error: could not find any available nodes

livekit version:v1.5.3
Program code
if _, err = core.RoomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{
Name:            rn,
EmptyTimeout:    10 * 60, // 10min
MaxParticipants: 10,
Metadata:        owner + "-" + skill,
})

I have a similar message when i try to create a room with livekit-cli create-room
twirp error internal: could not create room: could not find any available nodes
Still couldn't figure it out.

what does the machine utilization look like? including CPU & memory. Could you give the latest version 1.6 a try to see if it still can be reproduced?

Okay, so when this happens, I'll take a cut of the cpu utilization and send it here. I will also give version 1.6 a try.

Since the last time I asked this question, I have had this problem again. The cpu usage is not high in the normal range.

4.15.0-109-generic #110-Ubuntu SMP Tue Jun 23 02:39:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux .This is the system kernel information, is this old kernel affected?


Backend library dispatching for IO in Dask-Array and Dask-DataFrame

This PR serves as a reference implementation for (what is expected to be) "Dask Design Proposal 1": https://github.com/dask/design-docs/pull/1
Required cudf branch for Dask-DataFrame dispatching to cudf: https://github.com/rjzamora/cudf/tree/backend-class

Am just leaving comments as I go (hope that's okay)

Totally fine. I'm thrilled to have your eyes on this :)

Update: I made some significant changes here (changes that are not yet reflected in the design document):

Fallback behavior has been completely removed. It is now up to the backend to implement fallback behavior if/when that behavior is desired. The goal here is to keep the design as simple as possible on the Dask side.
Dispatch registration of pandas and numpy-based creation functions is now done in-place with a decorator.
The set  of all "dispatch-able" creation functions is now specified in the DataFrameBackendEntrypoint and ArrayBackendEntrypoint classes
The set of all "dispatch-able" functions now has a narrower scope. This set does not include all possible creation functions, but does cover the more-dominant functions (e.g. read_parquet, read_csv, ones, zeros, etc...). Any function that is already designed to depend on typed input data is now excluded (e.g. from_array, from_pandas, etc...).

cc @jrbourbeau (since some of these changes are related to your on- and off-line review comments)

I'm feeling relatively confident about the state of this PR - There are many small changes, but the overall design is now pretty simple: A DaskBackendEntrypoint class can be used to define a custom backend.
One remaining challenge here, however, is that the organization of dask.array will need to change a bit to enable proper array-creation dispatching for IO (reading from zarr, hdf5, etc..). Currently, most of the critical from_ functions (e.g.from_array, from_zarr) are defined in the top-level dask.array module, rather than in a distinct io (or creation) module. The means that we cannot register these functions as "dispatchable" without introducing a circular import dependency (the creation-dispatch class is defined in the dask.array.backends module, which depends on dask.array, to enable in-place registration to "numpy" using a simple decorator approach).
Possible solutions to this problem include: (1) define the creation-dispatch class outside of backends, and go back to a more-verbose registration process. (2) move all array-creation logic into a dedicated module - like dask.array.creation.
Any thoughts on this? Note that, (2) could also be done in follow-up work. This PR does not need to tackle everything at once.

(2) move all array-creation logic into a dedicated module - like dask.array.creation.

This seems okay to me. To clarify: most of the important array creation modules are in dask.array.core. Is it your proposal to move them into dask.array.creation, but still have them imported into the top-level dask.array namespace? If so, that seems like an okay thing to do.

Yes, that is pretty much what I am proposing. However, I'd probably prefer to do it in follow-up work (to keep this PR as simple as possible).

Makes sense. I think it's okay to iterate here.

@ian-r-rose @jrbourbeau - Thank you both for all your feedback and help here!  I feel that this PR is getting very close to merge-ready (for the initial implementation of an experimental feature, that is): The concept is pretty simple, and the backend registration process now requires relatively-minimal changes to the existing dataframe/array code. During the final review, I do want to make sure we agree on the best config structure to start with here.

Required cudf branch for Dask-DataFrame dispatching to cudf: https://github.com/rjzamora/cudf/tree/backend-class

Do we need to coordinate this branch arriving in cudf?

Do we need to coordinate this branch arriving in cudf?

@wence-, I will submit a cudf PR today so it is easier to track. However, there is no danger in merging this PR first. These changes wont break the current version of dask_cudf, but we wont be able to set a "cudf" backend in dask.dataframe until the necessary entrypoint is added in dask_cudf.

Current failures seem to be unrelated (ref: https://github.com/dask/dask/pull/9569)

Nice to see things looking green here :)
@jrbourbeau and @ian-r-rose - Any remaining thoughts or feelings?

Thanks for pushing on this @rjzamora -- @ian-r-rose and I are both taking a look

@rjzamora @ian-r-rose, unless I'm needed for something, I'll defer to you two as to when this PR is good to merge.

I think the "public" component of this PR is ready to go, and the internal pieces can be cleaned up if/when needed. However, I'm a bit biased, so I'll gladly defer to the opinions of @ian-r-rose and @wence- :)

It looks like we're seeing conflicts with https://github.com/dask/dask/pull/9283, which was just merged, and adds an entrypoint section. If you merge main, and then add the array backend option to the entrypoint section (which should now already exist in setup.cfg), I think all the formatting checks should pass

It looks like we're seeing conflicts with https://github.com/dask/dask/pull/9283, which was just merged, and adds an entrypoint section

Ah-ha! I was getting very confused. Makes sense.

Note: This branch includes the necessary changes to merge #9038 with this PR.

Note: This branch includes the necessary changes to merge #9038 with this PR.

Nice! That was quick

Thanks for the tremendous help here @ian-r-rose @wence- @jrbourbeau ! Please do ping me if this causes any unexpected problems :)


.gitignore: Add .pytest_cache

Closes #536
Reviewers Checklist

[ ] Appropriate logging is done.
[ ] Appropriate error responses.
[ ] Handle every possible exception.
[ ] Make sure there is a docstring in the command functions. Hint: Lookout for
botcmd and re_botcmd decorators.
[ ] See that 100% coverage is there.
[ ] See to it that mocking is not done where it is not necessary.

ack https://github.com/coala/corobo/pull/566/commits/cd03e3ae2de48ce5647c5c862e42891af04ec31c

@gitmate-bot ff

 coala/corobo


Adding to the FAQ page

I merged the other FAQ text and opened this PR to just address the copy for the first two questions which @JustinCappos  provided today.

https://en.wikipedia.org/wiki/DigiNotar
On Wed, Nov 11, 2020 at 11:54 PM Lois Anne DeLong<EMAIL_ADDRESS>wrote:

@jhdalek55 commented on this pull request.
In faq.md
https://github.com/uptane/deployment-considerations/pull/60#discussion_r521455974
:

How does Uptane work with other systems and protocols?

+Other mechanisms for performing update such as XXX, YYY, ZZZ, are compatible with Uptane. Uptane can use
Also @JustinCappos https://github.com/JustinCappos where can I find a
citation for the nation state reference. I can look it up myself, but I
need some keywords to search this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/60#discussion_r521455974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGROD24PIKTKO4KCNOXD3TSPKXS3ANCNFSM4TQYLBLQ
.

@patrickvacek, I'm trying to add in the companies Justin and Trishank suggested to fill in the XXs. But, I can't seem to edit that paragraph. Is there a merge missing or something?

I'm trying to add in the companies Justin and Trishank suggested to fill in the XXs. But, I can't seem to edit that paragraph. Is there a merge missing or something?

It's definitely there, I can see it here in the PR. Maybe your local changes are out of sync with github? Worst case, we merge this and you open another PR.

I can see it, but it is greyed out. It hate to merge and re-open again. Can you add the companies (Red Bend, Movimento, Tesla) to that paragraph?

I can see it, but it is greyed out.

That's strange. In github or in a local tool you're using?

Can you add the companies (Red Bend, Movimento, Tesla) to that paragraph?

I can't push directly to your branch, so I'd have to make a PR against this PR. I can do that, it's just a bit tedious. I also feel like it's not just a matter of replacing the placeholders; I think some more context is necessary before we just drop in names.

I'm working directly in Github. I haven't had much luck using Github desktop lately. Let me merge and re-open.


[Feature]: Change color or strokeWidth after annotate

Is there a way to change the annotation properties after annotate?
I didn't find the way to do it and checking at the code doesn't look like is there one but maybe I'm wrong
Use case:

Annotate content (annotation.show())
Change the color line after render for contrast, like when you change between dark-theme and light-theme

Right now I have to re-annotate, losing the svg a drawing a new one

Thats a good feature request - for all config properties.
We just need to make sure which ones will cause a re-render and which don't. Padding, for example should cause a re-render.

This is now supported with https://github.com/pshihn/rough-notation/pull/31


escape instead of removing

I remember there was a way to escape instead of removing, but can't find in the docs.
Like: I have a text <with> <tags>, and I want it to become text <with> <tags>, all tags in-place, but escaped.

I don't recall such a feature.
On Tue, Jun 30, 2015 at 7:52 AM, Ilya Kantor<EMAIL_ADDRESS>wrote:

I remember there was a way to escape instead of removing, but can't find
in the docs.
Like: I have a text  , and I want it to become text
<with> <tags>, all tags in-place, but escaped.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

So, there's no way to kraft it from existing stuff?
Looks like a fairly basic thing.

Will this be added any time soon?

What is the use case where you want some tags to be respected, but others
to be escaped?
On Sun, Sep 6, 2015 at 12:23 PM, Maurice Zhang<EMAIL_ADDRESS>wrote:

Will this be added any time soon?
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57#issuecomment-138097590
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

For example, if a user inputs a script tag, I would want it to appear rather than just deleting it to avoid confusion.

For example, I allow in comments  and  markup, but want other tags to appear "as is".

It's a pull request I would consider. It doesn't make sense when sanitizing
HTML from a rich text editor etc., where people paste markup from word
processors that it would be better to just discard, but it could make sense
in a context where people are hand-writing markup I suppose.
On Sun, Sep 6, 2015 at 12:52 PM, Ilya Kantor<EMAIL_ADDRESS>wrote:

For example, I allow in comments  and  markup, but want other tags
to appear "as is".
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57#issuecomment-138099659
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

I don't think it's really possible to do this. Let's say you want to allow  but not allow
, with this escape instead of remove option turned on. Then something like Use
 to open the DIV tag and
 to close it would be expected to convert to Use <div> to open the DIV tag and </div> to close it. But a string like that would throw off the html parser (and it's hard to follow by a human reader too).
I really think that in a context where people are hand writing markup, interpreting some HTML as HTML and other HTML as plain text would be confusing. You want it to be easy to tell what is markup and what is not. This sounds more like a case where you should be using bbcode or markdown.

Yes, the more I think about it you're right. As a user I'm not going to be
mollified by the knowledge that my tags have been escaped rather than
honored (: I don't think it's in scope for this modul.
On Fri, Nov 27, 2015 at 1:10 PM, Daniel Grad<EMAIL_ADDRESS>wrote:

I don't think it's really possible to do this. Let's say you want to allow
 but not allow , with this escape instead of remove option turned
on. Then something like Use  to open the DIV tag and
 to close it would be expected to convert to Use

 to open the DIV tag and
 to close it.
But a string like that would throw off the html parser (and it's hard to
follow by a human reader too).
I really think that in a context where people are hand writing markup,
interpreting some HTML as HTML and other HTML as plain text would be
confusing. You want it to be easy to tell what is markup and what is not.
This sounds more like a case where you should be using bbcode or markdown.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57#issuecomment-160184705
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Most of time escaping a tag is more obvious than removing it. Even if strange behavior arises, it's easy to explain what's going on, and that you "should not use tag

I would argue strongly with "most of the time." Manual entry of HTML tags
is an edge case. Using a rich text editor and hitting "paste" from Word is
the common case.
On Tue, Dec 1, 2015 at 1:28 PM, Ilya Kantor<EMAIL_ADDRESS>wrote:

Most of time escaping a tag is more obvious than removing it. Even if
strange behavior arises, it's easy to explain what's going on, and that you
"should not use tag
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57#issuecomment-161055320
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

That being said, I suppose optional hooks to do something different with
the discarded tags would not be an unreasonable pull request.
On Tue, Dec 1, 2015 at 2:11 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

I would argue strongly with "most of the time." Manual entry of HTML tags
is an edge case. Using a rich text editor and hitting "paste" from Word is
the common case.
On Tue, Dec 1, 2015 at 1:28 PM, Ilya Kantor<EMAIL_ADDRESS>wrote:

Most of time escaping a tag is more obvious than removing it. Even if
strange behavior arises, it's easy to explain what's going on, and that you
"should not use tag
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/57#issuecomment-161055320
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com


Llama segfault

I'm running into an issue where PagedLlamaModelV1 compiles through to a vmfb just fine, prefills in python without issue, but then segfaults upon running the compiled prefill. Since this is an issue arising from integration with SHARK the repro is pretty involved, but the run.sh file should have it all handled. I suspect sharktank's producing bad IR, but I'm not sure.
https://gist.github.com/gpetters-amd/1a1fe643446ea5c09170a5fca44bd5e7

I might be dealing with a similar issue
Also PageLLamaModel export vmfb.
Except I'm running it on GPU with Shortfin.
I get:

Memory access fault by GPU node-1 (Agent handle: 0x645d4ebf3380) on address 0x78224c494000. Reason: Page not present or supervisor privilege.

Possibly related: weird paged kvcache arguments when bs=1 but not when bs=1,4
https://github.com/nod-ai/SHARK-Platform/issues/312

I'm taking a look at it & pls ping me on slack if you wanna do some pair programming together and figure it out. This is blocking me.


Fix countAlphaNumeric method

There is currently a method called countAlphaNumeric that lives in /lib/countAlphaNumeric.js.
It is incomplete and needs to be fixed!
Write a function that counts all alphanumeric characters in a string.
Acceptance Criteria:

Running yarn test countAlphaNumeric results in tests passing.
You have written a skeleton method for someone else to work on.
You have written tests surrounding your skeleton method.
Running yarn lint does not print any errors to the console!
Optional: write one or two more tests surrounding the method you are solving to account for potential edge cases.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request! A pull request will most likely be denied if it does not contain a skeleton method for someone else to work on! For more information, please read the Contributing Guide.
Thank you so much for your contribution!

ill work on this

Cool deal!


System.Data.SqlClient.SqlException: Snix_Connect in Ubuntu

Hi,
I am writing an asp.net 5 app with ef 7 to work with sql server. It's all okay when the app is running under windows. When I tried running it under linux using 'dnx kestrel' (runtime: beta7 coreclr linux x64), the web site is up, but when there needs to interact with database, the following error gets issued:
error   : [Microsoft.Data.Entity.Query.QueryContextFactory] An exception occurred in the database while iterating the results of a query.
System.Data.SqlClient.SqlException: Snix_Connect (provider: SNI_PN7, error: 0 - The AddressFamily 101 is not valid for the System.Net.IPEndPoint end point, use InterNetwork instead.
Parameter name: socketAddress)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, TimeoutTimer timeout)    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, Boolean redirectedUserInstance)    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)    at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)    at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)    at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)    at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.Data.Entity.Storage.RelationalConnection.Open()
at Microsoft.Data.Entity.Query.QueryingEnumerable.Enumerator.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()    at System.Linq.Enumerable.<SelectManyIterator>d__162.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()    at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at Microsoft.Data.Entity.Query.LinqOperatorProvider.ExceptionInterceptor1.EnumeratorExceptionInterceptor.MoveNext() ClientConnectionId:00000000-0000-0000-0000-000000000000 error   : [Microsoft.AspNet.Diagnostics.ErrorHandlerMiddleware] An unhandled exception has occurred: Snix_Connect (provider: SNI_PN7, error: 0 - The AddressFamily 101 is not valid for the System.Net.IPEndPoint end point, use InterNetwork instead. Parameter name: socketAddress) System.Data.SqlClient.SqlException: Snix_Connect (provider: SNI_PN7, error: 0 - The AddressFamily 101 is not valid for the System.Net.IPEndPoint end point, use InterNetwork instead. Parameter name: socketAddress)    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)    at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)    at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry)    at System.Data.SqlClient.SqlConnection.Open()    at Microsoft.Data.Entity.Storage.RelationalConnection.Open()    at Microsoft.Data.Entity.Query.QueryingEnumerable.Enumerator.MoveNext()    at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at System.Linq.Enumerable.d__162.MoveNext()    at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()    at Microsoft.Data.Entity.Query.LinqOperatorProvider.ExceptionInterceptor1.EnumeratorExceptionInterceptor.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)    at Gilgate.Infrastructure.Persistence.SQL.Repositories.DeviceRepository.GetAll(Int32 pageCount, Int32 offset)    at Gilgate.ApplicationServices.DeviceStatusService.GetAllHealthStatus()    at Gilgate.Controllers.HealthStatusController.Index() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.AspNet.Mvc.ControllerActionExecutor.<ExecuteAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Mvc.ControllerActionExecutor.<ExecuteAsync>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Mvc.Core.ControllerActionInvoker.<InvokeActionAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Mvc.Core.FilterActionInvoker.<InvokeActionFilterAsync>d__50.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at Microsoft.AspNet.Mvc.Core.FilterActionInvoker.<InvokeAsync>d__41.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Mvc.MvcRouteHandler.<InvokeActionAsync>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Mvc.MvcRouteHandler.<RouteAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Routing.Template.TemplateRoute.<RouteAsync>d__25.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Routing.RouteCollection.<RouteAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Builder.RouterMiddleware.<Invoke>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Authentication.AuthenticationMiddleware1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNet.Diagnostics.ErrorHandlerMiddleware.d__5.MoveNext()
ClientConnectionId:00000000-0000-0000-0000-000000000000
Please help check. Thank you!

Not supported in Linux yet?

Cross platform support for SqlClient on .NET Core is being worked on. It won't be part of beta 8 though. See https://github.com/dotnet/corefx/pull/3567.


Conflict with ActionMailer notifier.rb

From what I can tell this directly conflicts with Rails' default method for sending emails: http://api.rubyonrails.org/classes/ActionMailer/Base.html
As long as I have a notifier.rb file in my models folder autotest will not run.
I don't know that there's any way around it, but since I've been having problems with this and haven't found anything similar on google I figured I should make a note of it. It crashes with the following error:
/Users/joeunrue/Rails/myapp/app/models/notifier.rb:1:in `<top (required)>': Notifier is not a class (TypeError)
The error goes away and growl notifications work when I delete my notifier.rb file, which is not something I'm sure I'm willing to do.

Actually, This isn't conflicting with Rails/ActionMailer. Is because you have a class called Notifier.
The notifier gem implements this as a module and hence the conflict (TypeError exception).
For now, you can rename your mailer to something like Mailer or AppNotifier.
--
Nando Vieira
http://nandovieira.com.br
On Mar 3, 2012, at 10:05 PM, Saxon Unrue wrote:

From what I can tell this directly conflicts with Rails' default method for sending emails: http://api.rubyonrails.org/classes/ActionMailer/Base.html
As long as I have a notifier.rb file in my models folder autotest will not run.
I don't know that there's any way around it, but since I've been having problems with this and haven't found anything similar on google I figured I should make a note of it. It crashes with the following error:
/Users/joeunrue/Rails/myapp/app/models/notifier.rb:1:in `<top (required)>': Notifier is not a class (TypeError)
The error goes away and growl notifications work when I delete my notifier.rb file, which is not something I'm sure I'm willing to do.

Reply to this email directly or view it on GitHub:
https://github.com/fnando/notifier/issues/6

Hey, thanks for the quick response. I didn't mean that it was a conflict with ActionMailer, but with their API example (which I've been using for three years). I mostly wanted to make sure I was correct in figuring out my conflict, since I wasn't able to find any other example of it on Google.


Suggest optional record fields within block statement

Purpose

With this, suggest the optional record fields for statement expressions

Fixes #20316
Remarks

Related PR: #20878

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #20881 into ballerina-1.1.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.1.x   #20881   +/-   ##
================================================
  Coverage            15.21%   15.21%
================================================
  Files                   50       50
  Lines                 1341     1341
  Branches               208      208
================================================
  Hits                   204      204
  Misses                1121     1121
  Partials                16       16

Continue to review full report at Codecov.

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


How does this differ from Spotify, DropBox etc?

Hi
I read the website. I agree that this problem have some UX challenges. But I don't see this as a particularly unexplored area, but then again I might be missing something?
Please bear with me as I expand below.
Offline first == File sync
As I see it, your problem domain becomes very similar to the challenges of a distributed version control system (git), a multi client file backup (DropBox) or even a offline music player (Spotify). These all have attacked the UX problems you mention and have a lot of ready solutions.
File sync, but we're working with JSON-data in our API:s?
If you treat your data as files in a file system, then the filename is the checksum of said data (again how git stores data).
This have two benefits:

You store data idempotent since if you upload the same data twice and your key is a checksum the value is guaranteed to be identical.
You can factor the sync problem out of your application API-equation.

This is important because you don't want to change your sync API for each new feature or type of data you add support for, trust me on this one, it is very painful.

Typically you would store this in a document or a key-value database on the backend. Your client basically holds a LRU-cache (Last Recently Used) on disk. This means that the most accessed data is always available (Spotify), but you can limit data storage to a certain amount.
How do you store and read these files?
Structuring and accessing you data becomes a bit different than the traditional model. Since you are syncing files with checksum as keys, you can't hardcode application logic to a particular REST API-call.
Luckily you don't have to search very far to find an excellent example. This one you already know about and use every day. It is called: The world wide web (or HTTP + HTML).
Yes, this means that you should view your client as a browser when exploring your data. A browser typically makes no pre-assumption as to what content an URI will contain.
Example: Web browser

You start off by clicking a link or entering a web address in the url bar.
This prompts you to download a resource, but only if it is not already in your cache.
You know this by either asking if the file have been modified since a particular date or by sending the checksum in an If-None-Match header.
When you download it you look at the mime-type (which can be derived from file ending), which decides how you should interpret this particular resource.

Example: Your data browser
Your data model needs to be structured like a file system (a tree datastructure). Where have one or several root nodes (your index.html). The child nodes contains links to data and links to other nodes.

You access a root node and download that data, unless you have a local up to date copy (If-None-Modified)
By looking at the mime-type you know how to interpret the downloaded data in you client code (application/vnd.myapp.user.v1+json).

This is instead of hardcoding logic to an API-call.

Files or pages typically represents one screen or one set of screens of related data that will be updated together.
Just like HTML pages you can link to other resources, some you download directly (images) and some are navigational elements to other pages. You can choose to download and cache these aggressively or defer download until the user clicks them.

When persisting your data you need to end up in what would be called materialized views (like HTML-pages are). This kind of data is typically a much better fitted in Document stores than Relational databases.
Writing
If you update a file and therefore change the file name (file name == checksum, remember) you need to make sure all the links to that document are updated. You do this by changing all the nodes in that branch of the tree and lastly update the root element (which becomes your transactional boundary).
This model also solves versioning. Because you don't have to remove old data that a user needs to continue working. If you delete data you only do it at a time when no links exists to it any more (basically a  Garbage Collector).
Maybe I'm making a lot of assumptions, but if this problem is in fact not new, does that not imply that there are already well known UX models we can build upon as well?

Great Analogy and to the point correct. Just wanted to update on the same.
When we design our offline model in browser way it will work as browser connects with our server.
If Browser request for the first time, it inform server about its state and ask for a fresh copy.
If Browser want to refresh, browser has to send the file along with timestamp of last update and server will tell you if it is expired or okay to use.
If browser has to update the same, it tries pushing the data to server and server will do the conflict resolution.
These scenario need special handling considering for scenarios:
Considering Client once hit a page will never refreshes it.

Need to automatically refresh data in background if server receives the fresh copy.
File dependency of one over other & how to handle it?
Updated record offline, without internet now after 3 hours it is getting synced.

I am looking towards an architecture where client doesn't have to handle so much of scenarios.

How to migrate from one version to another with seamless upgrade experience.
How to handle large dataset (how much to sync and how it should refresh such datasets)?
How to efficiently work when you have active connection & offline data?

We are working on similar kind of architecture for our mobility accelerator framework, to tackle above issue. Hopefully if we can open-source it.

Hi
Not sure I followed all your points. But for the below statements:
Need to automatically refresh data in background if server receives the fresh copy.
You can implement a push functionality on changes. Since you only ever commit changes on the backend and you would have materialized views for each user that contains exactly what they are allowed to view you can also know when something has changed for that user even for a specific client. You only need to keep track on what index version a specific user/device is at and push a notification when a new index is available.
File dependency of one over other & how to handle it?
Changes are pushed to the backend. If a conflict occurs you create a diff (in whatever format makes sense for your application) and present that to the user. If it cannot be resolved you can resolve it offline with your support manually.
Updated record offline, without internet now after 3 hours it is getting synced.
 You have a local queue of changes that are uploaded. Your client can still let the user interact with changes, but then state that it is unsaved data. You could have a lookup table that maps the cached file with the unsynced edited file on the client until a new index has been downloaded.
How to migrate from one version to another with seamless upgrade experience.
This would happen like this:

Upload all pending changes from client to backend. This is a file upload so if even if a conflict occurs, backend would still keep the change and an upgrade can proceed. You can always do conflict resolution later.
Update the client code
The client code will download the an index that is intended for the new client version.
The new index will point to whatever resources it needs, if the resources have changed (new structure or data) it will need to be downloaded again, if not then cached files are reused
Garbage collect any orphans/unreferenced files

How to handle large dataset (how much to sync and how it should refresh such datasets)?
It would work just like a web browser. As an example: you browse to a photo gallery cache a lot of large photos. When the author updates the title of the index page you would not have to download all cached photos on you next visit.
This translates to: if you have large data blobs, make them separate files! If you have data that changes very often then do not put them in the same files as data that changes very seldom. Do not use deep nested hierarchies for your files if your leaves change often, it will invalidate all parents.
How to efficiently work when you have active connection & offline data?
You don't need to apply the model for everything in your application. A chat application that is streaming a lot of data should perhaps not use this model. You can segment your application into parts that depend on an active connection and parts that do not. It all depends on what your non functional requirements are. There are always trade offs to consider.


userena mailing list?. userena_profile_detail returns a 404

Hi I am a django newbie and a userena newbie. I tried finding a userena mailing list but couldnt hence am asking my question here.
I am intergrating userena with an exisiting django application which has a whole bunch of users with emails as usernames and a legacy profile with a biodata field.
I have set the AUTH_PROFILE_MODULE to match my legacy profile module which I redefined inheriting from UserenaBaseProfile. Even after populating this new profile model with my legacy objects . I always get a 404 for a lookup afrer login to urls of the type
<EMAIL_ADDRESS>Since my legacy app uses emails as login usernames.
I did run syncdb and my models are in the database. For example the AUTH_PROFILE_MODULE does have the following table structure:
id, mugshot, privacy,user_id,bio,legacy_foreign_tablekey
Why cant I get the<EMAIL_ADDRESS>lookups for user profiles to not return a 404.

I think this may be related to https://github.com/bread-and-pepper/django-userena/pull/116.
The userena revision I am using has the username resolver matching
r'^(?P(?!signout|signup|signin)[.\w]+)/$'
I guess this somehow precludes email addresses of the form<EMAIL_ADDRESS>as a username

Hi Hariharan,
I have already seen you found the issue at Github that deals with this. I also
wanted to respond to you how to fix your particular case.
Hariharan Jayaram wrote on Sun, Dec 18, 2011 at 11:12:28AM -0800:

I always get a 404 for a lookup afrer login to urls of the type
<EMAIL_ADDRESS>
Your users have an username that contains their e-mail address. I have the
opinion that this is of wrong design because the e-mail column is available for
that. That's also why I don't allow email addresses as usernames in userena.
To remedy your problem, you should correctly set all the e-mail addresses and
then change all the usernames to a random, alphanumeric, string. This way you
can make use of all the URI's and your database columns are used like they
should.
Hope the above helps, greetings.
Petar Radošević, Programmer
wunki.org | @wunki

Well, I'm having the same problem and I think that your answer is no longer correct because in Django 1.2 this behavior changed and now "@" "-" "." and "+" are allowed.
https://docs.djangoproject.com/en/1.3/topics/auth/#django.contrib.auth.models.User.username
So, I think you have to change the url regular expression to match these cases.
https://github.com/bread-and-pepper/django-userena/blob/master/userena/urls.py
I made a patch in my urls.py like this that made the trick as workaround:
# Change email and confirm it
url(r'^users/(?P<username>[\w+@\.\-]+)/email/$',
   userena_views.email_change,
   name='userena_email_change'),
url(r'^users/(?P<username>[\w+@\.\-]+)/email/complete/$',
   userena_views.direct_to_user_template,
   {'template_name': 'userena/email_change_complete.html'},
   name='userena_email_change_complete'),
url(r'^users/(?P<username>[\w+@\.\-]+)/confirm-email/complete/$',
   userena_views.direct_to_user_template,
   {'template_name': 'userena/email_confirm_complete.html'},
   name='userena_email_confirm_complete'),
url(r'^users/(?P<username>[\w+@\.\-]+)/confirm-email/(?P<confirmation_key>\w+)/$',
   userena_views.email_confirm,
   name='userena_email_confirm'),

# Change password
url(r'^users/(?P<username>[\w+@\.\-]+)/password/$',
   userena_views.password_change,
   name='userena_password_change'),
url(r'^users/(?P<username>[\w+@\.\-]+)/password/complete/$',
   userena_views.direct_to_user_template,
   {'template_name': 'userena/password_complete.html'},
   name='userena_password_change_complete'),

# Edit profile
url(r'^users/(?P<username>[\w+@\.\-]+)/edit/$',
   userena_views.profile_edit,
   name='userena_profile_edit'),

# View profiles
url(r'^users/(?P<username>(?!signout|signup|signin)[\w+@\.\-]+)/$',
      userena_views.profile_detail,
      name='userena_profile_detail'),

The key for the change is changing from:
[.\w]+
to:
<EMAIL_ADDRESS>
whenever handling usernames.

This issue was also started because of 1.3 support of @. I have the opinion, explained here, that e-mail addresses should not be used as usernames, the email field is for that.

wunki:
I dissagree. You are going against the philosophy of the framework on top of which your app is created.
This sounds for me as a FAIL. Why would you do something like that?

I have given my reasons in the previous comments. There is also nothing wrong with going against the framework, that's often what improves the framework. But, instead of FAIL calling, let's rejoice in the fact that userena is open-source and you are free to fork it at will.


🐛 Fixed menubar command bug and changed onsubmit textarea behaviour to clear (Typefully)

Description

Changed draft textarea to clear upon submission
Fixed menu bar command bug calculating title length

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @DanielFerguson 👋
Can you check the merge conflicts? 😊

Absolutely, @pernielsentikaer

Done-zo-washington, @pernielsentikaer. 🚀


newest update broke my installation

Describe the issue
Open Webinterface isn't possible. Docker logstash is in a startup loop (Up for a few seconds, than down. And so on.)
To Reproduce
cd /opt/lme/Chapter\ 3\ Files/
sudo ./deploy.sh update

I was updating from 0.4
Linux Server:
> NAME="Ubuntu"
> VERSION="20.04.3 LTS (Focal Fossa)"
> ID=ubuntu
> ID_LIKE=debian
> PRETTY_NAME="Ubuntu 20.04.3 LTS"
> VERSION_ID="20.04"
> HOME_URL="https://www.ubuntu.com/"
> SUPPORT_URL="https://help.ubuntu.com/"
> BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
> PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
> VERSION_CODENAME=focal
> UBUNTU_CODENAME=focal

Logstash config:
> ID:                     XXXX
> Name:                   logstash.conf
> Created at:             2021-12-16 08:31:49.163791196 +0000 utc
> Updated at:             2021-12-16 08:31:49.163791196 +0000 utc
> Data:
> ##########################
> # LME Logstash Config    #
> # Version 0.4 - 24/03/21 #
> ##########################
>
> input {
>   beats {
>     port => 5044
>     ssl => true
>     ssl_certificate => "/run/secrets/logstash.crt"
>     ssl_key => "/run/secrets/logstash.key"
>     ssl_certificate_authorities => ["/run/secrets/ca.crt"]
>     ssl_verify_mode => "force_peer"
>     tags => "beats"
>   }
>   syslog {
>     port => 12514
>     tags => "syslog"
>   }
> }
>
> filter {
>   clone {
>     clones => ['cloned_logs']
>     add_tag => ["cloned_logs"]
>   }
>   # If a windows update event that contains an updateTitle field (these sometimes contain KB numbers) then extract the KB
>   if [updateTitle][winlog][event_data] {
>     grok {
>       match => {
>         "[winlog][event_data][updateTitle]" => "(?<KB_number>KB[0-9]{5,})"
>       }
>     }
>   }
> }
>
> output {
>   if "cloned_logs" not in [tags] {
>     if "beats" in [tags] {
>       elasticsearch {
>         hosts => "https://elasticsearch:9200"
>         index => "winlogbeat-%{+dd.MM.YYYY}"
>         user => logstash_writer
>         password => "XXX"
>         ssl => true
>         cacert => '/run/secrets/ca.crt'
>         pipeline => "winlogbeat"
>       }
>     }
>     if "syslog" in [tags] {
>       elasticsearch {
>         hosts => "https://elasticsearch:9200"
>         index => "winlogbeat-%{+dd.MM.YYYY}"
>         user => logstash_writer
>         password => "XXX"
>         ssl => true
>         cacert => '/run/secrets/ca.crt'
>         pipeline => "syslog"
>       }
>     }
>   }
> }

Hi @LeitLei, I'm sorry to hear that that you're having issues. Would you be able to confirm if it's only Logstash that's failing to start or if Elasticsearch or Kibana are having issues as well by posting the output of the command:
sudo docker stack ps lme

If it is just logstash that is encountering an error, would you also be able to post the output of the following command, after redacting it for anything sensitive, so we can see what may be going on?
sudo docker service logs lme_logstash --tail 200

I'm also curious based on the discussion in issue #114 if there have been any changes made to the default configuration of Logstash for your instance that we should be aware of, which we may not have been able to test in our environment before deploying the update? It would be useful to know so we could go back and take a look if so.

Hi @adam-ncc,
Thanks for your help.
First off all: I've restored a backup from monday where all is "original". But the error persists.
I don't use any personal configuration. The only thing is, that I'm using my own certifiactes. Installed like your manual.
As i opened this thread, only Logstash was affected.
Now I've restored again my backup from monday and restart the update with sudo ./deploy.sh update.
And now kibana is effected. And only kibana. WTF??
Output from sudo docker stack ps lme:
ID             NAME                  IMAGE                                                        NODE      DESIRED STATE   CURRENT STATE           ERROR                        PORTS
XXX   lme_elasticsearch.1   docker.elastic.co/elasticsearch/elasticsearch:7.16.1   	  log02     Running         Running 5 minutes ago
XXX   lme_kibana.1          docker.elastic.co/kibana/kibana:7.16.1                       log02     Running         Running 1 second ago
XXX    \_ lme_kibana.1      docker.elastic.co/kibana/kibana:7.16.1                       log02     Shutdown        Failed 7 seconds ago    "task: non-zero exit (1)"
XXX    \_ lme_kibana.1      docker.elastic.co/kibana/kibana:7.16.1                       log02     Shutdown        Failed 17 seconds ago   "task: non-zero exit (1)"
XXX    \_ lme_kibana.1      docker.elastic.co/kibana/kibana:7.16.1                       log02     Shutdown        Failed 27 seconds ago   "task: non-zero exit (1)"
XXX    \_ lme_kibana.1      docker.elastic.co/kibana/kibana:7.16.1                       log02     Shutdown        Failed 37 seconds ago   "task: non-zero exit (1)"
XXX   lme_logstash.1        docker.elastic.co/logstash/logstash:7.16.1                   log02     Running         Running 5 minutes ago

Output from sudo docker service logs lme_kibana --tail 200:
lme_kibana.1.XXX@Y    | {"type":"log","@timestamp":"2021-12-16T11:14:39+00:00","tags":["fatal","root"],"pid":8,"message":"ValidationError: [config validation of [server].publicBaseUrl]: expected URI with scheme [http|https].\n    at ObjectType.validate (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:95:13)\n    at ConfigService.validateAtPath (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:246:19)\n    at MapSubscriber.project (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:254:169)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:49:35)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at DistinctUntilChangedSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/distinctUntilChanged.js:69:30)\n    at DistinctUntilChangedSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:55:26)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at ReplaySubject._subscribe (/usr/share/kibana/node_modules/rxjs/internal/ReplaySubject.js:80:28) {\n  cause: SchemaTypeError: expected URI with scheme [http|https].\n      at URIType.onError (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:137:14)\n      at Object.error (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:79:47)\n      at Object.internals.finalize (/usr/share/kibana/node_modules/joi/lib/validator.js:472:36)\n      at Object.internals.rules (/usr/share/kibana/node_modules/joi/lib/validator.js:406:34)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:350:22)\n      at internals.Base.$_validate (/usr/share/kibana/node_modules/joi/lib/base.js:773:26)\n      at Object.validate (/usr/share/kibana/node_modules/joi/lib/types/keys.js:108:45)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:325:26)\n      at Object.internals.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:142:28)\n      at Object.exports.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:27:30) {\n    cause: undefined,\n    path: [ 'publicBaseUrl' ]\n  }\n}"}
lme_kibana.1.XXX@Y    | {"type":"log","@timestamp":"2021-12-16T11:14:49+00:00","tags":["fatal","root"],"pid":8,"message":"ValidationError: [config validation of [server].publicBaseUrl]: expected URI with scheme [http|https].\n    at ObjectType.validate (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:95:13)\n    at ConfigService.validateAtPath (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:246:19)\n    at MapSubscriber.project (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:254:169)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:49:35)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at DistinctUntilChangedSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/distinctUntilChanged.js:69:30)\n    at DistinctUntilChangedSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:55:26)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at ReplaySubject._subscribe (/usr/share/kibana/node_modules/rxjs/internal/ReplaySubject.js:80:28) {\n  cause: SchemaTypeError: expected URI with scheme [http|https].\n      at URIType.onError (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:137:14)\n      at Object.error (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:79:47)\n      at Object.internals.finalize (/usr/share/kibana/node_modules/joi/lib/validator.js:472:36)\n      at Object.internals.rules (/usr/share/kibana/node_modules/joi/lib/validator.js:406:34)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:350:22)\n      at internals.Base.$_validate (/usr/share/kibana/node_modules/joi/lib/base.js:773:26)\n      at Object.validate (/usr/share/kibana/node_modules/joi/lib/types/keys.js:108:45)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:325:26)\n      at Object.internals.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:142:28)\n      at Object.exports.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:27:30) {\n    cause: undefined,\n    path: [ 'publicBaseUrl' ]\n  }\n}"}
lme_kibana.1.XXX@Y    | {"type":"log","@timestamp":"2021-12-16T11:14:59+00:00","tags":["fatal","root"],"pid":9,"message":"ValidationError: [config validation of [server].publicBaseUrl]: expected URI with scheme [http|https].\n    at ObjectType.validate (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:95:13)\n    at ConfigService.validateAtPath (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:246:19)\n    at MapSubscriber.project (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:254:169)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:49:35)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at DistinctUntilChangedSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/distinctUntilChanged.js:69:30)\n    at DistinctUntilChangedSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:55:26)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at ReplaySubject._subscribe (/usr/share/kibana/node_modules/rxjs/internal/ReplaySubject.js:80:28) {\n  cause: SchemaTypeError: expected URI with scheme [http|https].\n      at URIType.onError (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:137:14)\n      at Object.error (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:79:47)\n      at Object.internals.finalize (/usr/share/kibana/node_modules/joi/lib/validator.js:472:36)\n      at Object.internals.rules (/usr/share/kibana/node_modules/joi/lib/validator.js:406:34)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:350:22)\n      at internals.Base.$_validate (/usr/share/kibana/node_modules/joi/lib/base.js:773:26)\n      at Object.validate (/usr/share/kibana/node_modules/joi/lib/types/keys.js:108:45)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:325:26)\n      at Object.internals.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:142:28)\n      at Object.exports.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:27:30) {\n    cause: undefined,\n    path: [ 'publicBaseUrl' ]\n  }\n}"}
lme_kibana.1.XXX@Y    | {"type":"log","@timestamp":"2021-12-16T11:15:10+00:00","tags":["fatal","root"],"pid":9,"message":"ValidationError: [config validation of [server].publicBaseUrl]: expected URI with scheme [http|https].\n    at ObjectType.validate (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:95:13)\n    at ConfigService.validateAtPath (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:246:19)\n    at MapSubscriber.project (/usr/share/kibana/node_modules/@kbn/config/target_node/config_service.js:254:169)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:49:35)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at DistinctUntilChangedSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/distinctUntilChanged.js:69:30)\n    at DistinctUntilChangedSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at MapSubscriber._next (/usr/share/kibana/node_modules/rxjs/internal/operators/map.js:55:26)\n    at MapSubscriber.Subscriber.next (/usr/share/kibana/node_modules/rxjs/internal/Subscriber.js:66:18)\n    at ReplaySubject._subscribe (/usr/share/kibana/node_modules/rxjs/internal/ReplaySubject.js:80:28) {\n  cause: SchemaTypeError: expected URI with scheme [http|https].\n      at URIType.onError (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:137:14)\n      at Object.error (/usr/share/kibana/node_modules/@kbn/config-schema/target_node/types/type.js:79:47)\n      at Object.internals.finalize (/usr/share/kibana/node_modules/joi/lib/validator.js:472:36)\n      at Object.internals.rules (/usr/share/kibana/node_modules/joi/lib/validator.js:406:34)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:350:22)\n      at internals.Base.$_validate (/usr/share/kibana/node_modules/joi/lib/base.js:773:26)\n      at Object.validate (/usr/share/kibana/node_modules/joi/lib/types/keys.js:108:45)\n      at Object.exports.validate (/usr/share/kibana/node_modules/joi/lib/validator.js:325:26)\n      at Object.internals.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:142:28)\n      at Object.exports.entry (/usr/share/kibana/node_modules/joi/lib/validator.js:27:30) {\n    cause: undefined,\n    path: [ 'publicBaseUrl' ]\n  }\n}"}

Ah that is odd, nothing had changed in the logstash settings beyond the version bump so I was surprised that it failed the update, but I guess it seems to be working now.
Less good news with regards to Kibana, it seems as if the PublicBaseURL value is missing or invalid for some reason, which is something new for Kibana 7.14 that we've just added in support for in the latest update. Currently this should be taken from the existing value within the docker-compose-stack-live.yml file if it's already set, or if you're doing a fresh update and this isn't already set it should be taken from the lme/.conf file, but it seems to be incorrectly set for you now despite working before.
Would you mind taking a look at these files and letting me know what the following settings are? You will likely want to redact the hostname itself from both values, but just seeing what the data looks like and whether it's a valid URI should be enough to get started:
/opt/lme/lme.conf
hostname=[xxxx]

/opt/lme/Chapter\ 3\ Files/docker-compose-stack-live.yml
SERVER_PUBLICBASEURL: [yyyyyy]

Thanks!

After Update:
hostname=XX.XXXXXXX.XXX
SERVER_PUBLICBASEURL: insertpublicurlhere

Pre Update:
hostname=XX.XXXXXXX.XXX
XX.XXXXXXX.XXX = my correct FQDN

Ah what seems to have happened is you've ended up with the placeholder value in your live docker compose file for some reason, so when you do an update it keeps the placeholder value rather than using the value from the LME config file.
You should be able to fix this by manually opening the docker-compose-stack-live.yml file within Chapter 3 and then editing the SERVER_PUBLICBASEURL value so that it reads https://XX.XXXXXXX.XXX where XX.XXXXXXX.XXX = your FQDN. Once this value is correct, running the deploy script with the update command again should restart the docker containers with the correct value set and hopefully resolve the issue for you:
sudo [nano/vim] /opt/lme/Chapter\ 3\ Files/docker-compose-stack-live.yml

Change SERVER_PUBLICBASEURL so that it looks like the example below, but using your FQDN instead:
SERVER_PUBLICBASEURL: https://elastic-lme.contoso.local

sudo /opt/lme/Chapter\ 3\ Files/deploy.sh update

I'm not sure what might have caused this, it may be related to how you restored the backup, but we'll keep an eye on it and do some more testing to see if anyone else encounters this problem.
Let me know you get on with the above fix, hopefully this resolves things for you.

Thanks for your help @adam-ncc.
Now it works.
I made a complete VM restore with Veeam Backup. Normally Veeam make a good job.

Thanks guys.
I had the exact same issue trying to update a new 0.4 build.
The solution worked a treat.

Update to this, we've been able to re-produce this issue. It's being caused up the update script replacing the docker compose file with the latest version, but the script itself being cached in memory and using the older version during an update. This means that the placeholder value of the SERVER_PUBLICBASEURL parameter will be populated into the live docker compose file and won't be replaced across future updates.
To resolve this we've pushed a hotfix that will reset the relevant parameter to the value from the lme.conf file if it is currently set to the placeholder, but if you run the update script without first ensuring your up to date with git you will still see this behaviour until the next time the update is run.
This means that if an automatic update has caused you issues with Kibana it should resolve itself in a day or so once the update triggers itself twice, or if you wish to manually update to get the latest version or solve the issue it's best to make sure you're up to date with git before running the update:
sudo git -C /opt/lme/ pull
sudo /opt/lme/Chapter\ 3\ Files/deploy.sh update

Thanks for reporting this and bringing it to our attention.


test: add tests for NODE_LOADER_CONFIG env var

Changes

Add tests for NODE_LOADER_CONFIG env var
Refactor config path resolution into a function
Reorder code in node-loader-core to roughly be in top-down in order of execution
Add JSDoc comments and type definitions

Tests

[x] Unit
[x] Manual

The type definitions are a nice addition. I don't see users of node-loader-core benefiting much from them since the library isn't directly imported, but the types may be nice for IDE support when developing the project. It may be good to add tsd to this project in the future to be able to test the types, if users are relying on them being correct. But for now I think it's fine as-is.

Yes! I mostly added them for IDE convenience. Also, for my own benefit while trying to work through what each function etc. did, I found myself adding JSDoc comments, so I just thought rounding it off with param and return types would be nice.

Any update on this PR? Shall I close it?

Apologies. My day job took over and got crazy. I'd say, yes, please just close it. I don't anticipate being able to follow up any time in the next couple weeks. Thanks!

No worries - thanks for your contributions.


README.md file enhancement

The README.md file can be further enhanced by adding a list of all the open source programs in which this project is a part of. Also there are minor grammatical errors that needs correction.

Any update @anirudhsai20?

Hi @himanshusharma89 . I will be sending a pull request within an hour.


Thanks for the cleanup, delete changes are the best

Validation: Are there any build definitions in Jenkins/DevOps that cover these alternate build scenarios? Have you local builds with each of these to ensure they build successfully?
#if FEATURE_ASPNET_COMPILER
#if FEATURE_WIN32_REGISTRY
#if FEATURE_CODEDOM
#if !FEATURE_GET_COMMANDLINE
#if !FEATURE_CULTUREINFO_GETCULTURES
#if FEATURE_LEGACY_GETFULLPATH
#if !FEATURE_SPAN
#if NETCOREAPP2_1
#if FEATURE_APPDOMAIN
#if FEATURE_VISUALSTUDIOSETUP
#if FEATURE_RESGEN

(local clean builds just to make sure)

In reply to: 435215415 [](ancestors = 435215415)

@erikma those ifdefs are either covered by the different frameworks (instead of ifdef NETCORE, it's ifdef FEATURE where FEATURE is set for netcore), or they're dead and could be removed (in a future PR). Basically, the CI builds do all the builds which actually matter (windows, mac, linux).


How to solve the problem of Olama error in the Idea editor？

I cloned this repo in my idea,konwing that the olama is the production compiled by protoc,but even though the file like GrpcStub.java has a correct import sentence 'import com.tencent.tcvectordb.rpc.proto.Olama;' and the Olama.java truly exist in the right path ,still the edit report the red wanning ,can not find the file?
Thanks for your help!

@anyihao

you need to increase idea compile file  size，because the olama file size exceeds the config
---Original---
From: @.>
Date: Sat, Nov 30, 2024 15:35 PM
To: @.>;
Cc: @.***>;
Subject: [Tencent/vectordatabase-sdk-java] How to solve the problem of Olama error in the Idea editor？ (Issue #4)
I cloned this repo in my idea,konwing that the olama is the production compiled by protoc,but even though the file like GrpcStub.java has a correct import sentence 'import com.tencent.tcvectordb.rpc.proto.Olama;' and the Olama.java truly exist in the right path ,still the edit report the red wanning ,can not find the file?
Thanks for your help!
image.png (view on web)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Solved by designating the absolute path of olama file.Thanks U.

Thanks,After I set the config in  idea.properties with idea.max.intellisense.filesize=99999 the Olama.java can be read.


Emoji in headings leads to MD026 and MD051

Repro:
# Title

## Contents

[Introduction](#introduction)
[Get started](#get-started-zap)                    <!-- MD051 -->

## Introduction

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

## Get started :zap:                               <!-- MD026 -->

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

That shows MD051/link-fragments Link fragments should be valid for the second TOC item. I pressed ctrl . which suggested #get-started-⚡, but that also reported the error. (Though I'd prefer the word instead.)
It also reports MD026/no-trailing-punctuation: Trailing punctuation in heading [Punctuation: ':'] for the heading.

You should not see either warning in the latest release of the library: demo. But note that the latest library version is not yet incorporated into CLI, CLI2, or the VS Code extension.


Update AboutUs and Skeletal PPP

Here we will keep track of the progress of updating AboutUs and PPP. Please do your work in a separate branch {github username}-docs as mentioned by James. Once done, create a PR and link the PR to this issue.

#15


Seedcracker X and clientcommands

Mod Name
Seedcracker X and clientcommands
Mod Homepage
https://github.com/19MisterX98/SeedcrackerX?tab=readme-ov-file https://modrinth.com/mod/client-commands/version/2.8.5
Minecraft version
1.20.1
Describe the bug
Crash on start up/bootstrap
Steps to reproduce
1. Add Seedcracker X and/or clientcommands 2.8.5
2. Start with Connector 1.0.0-beta.35+1.20.1 and ffapi 0.91.0+1.10.8+1.20.1
3. Crash
Logs
https://mclo.gs/DhDCDEs
Additional context
Fabric API needed for clientcommands.

Duplicate of #441


Add support for things like From for masks

For things like m1x16 it would be really nice to have them implement From<u16>. This allows for standard math to be performed on integers (such as pop count) and then masks to be made from them.
This feature is a bit biased towards the AVX512 machines I am developing against and I'm doing 'complex' mask calculations.
AVX512 has instructions that make masks directly from integers (kmov instruction) which can perform this fast. Other architectures this might have to be emulated with a loop over all the bits.
The Intel intrinsic for this operation is _mm512_int2mask()
-B

Note that m1x16 are currently not implemented as an i16. All the m1xN types
are ultra experimental and IIRC all their implementations are pretty much
completely wrong codegen wise. If you need AVX-512 masks none of the m1
types will actually work properly, and if they do is pure chance.
On Fri 29. Jun 2018 at 23:39, gamozolabs<EMAIL_ADDRESS>wrote:

For things like m1x16 it would be really nice to have them implement From.
This allows for standard math to be performed on integers (such as pop
count) and then masks to be made from them.
This feature is a bit biased towards the AVX512 machines I am developing
against and I'm doing 'complex' mask calculations.
AVX512 has instructions that make masks directly from integers (kmov
instruction) which can perform this fast. Other architectures this might
have to be emulated with a loop over all the bits.
The Intel intrinsic for this operation is _mm512_int2mask()
-B
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang-nursery/stdsimd/issues/510, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AA3Npt34hqqY1TnkDi97rtkEq-gI6QS5ks5uBp5_gaJpZM4U9qMq
.

--
Dipl.-Ing. Gonzalo Brito Gadeschi
Institute of Aerodynamics and Chair of Fluid Mechanics
RWTH Aachen University
Wuellnerstraße 5a
D-52062 Aachen
Germany
Phone: ++49-(0)241-80-94821
Fax: ++49-(0)241-80-92257
E-mail<EMAIL_ADDRESS>Internet: www.aia.rwth-aachen.de

Yeah, I'm taking it with a grain of salt. I'm just maintaining an experimental stdsimd variant of my standard code. So far actually the mask codegen has been exactly as expected for AVX512!
No rush on this issue, this could be a longterm goal as the masks get more stable.
-B

PRs welcome ;)
The main thing blocking AVX-512 masks is making m1x64 a 64-bit wide type where each bit masks one lane. This will probably need some support in rustc.

This is now tracked in: https://github.com/gnzlbg/packed_simd/issues/17 , where I've assumed that you meant FromBits/IntoBits instead of From.


NightMode bug - background color is incorrect after rotation

After setting NightMode in settings, on rotation the background color is incorrect (light instead of dark) with white text on a light background.   A smaller test program does not give a clue about the trigger for this defect as yet.

Fixed - must allow the superclass to complete onCreate() before setting the contentView.


order using redis queues (kue)

hi,
i have set useServerQueue to true to process the order's via the queue redis.
the problem i got is that i always get Success page when i place order even if the card is rejected by the gateway processor, i checked the order.js api and i can confirm that the err is always returned as null :
fork-vue-storefront-api/src/api/order.ts
let queue = kue.createQueue(Object.assign(config.kue, { redis: config.redis }));
        const job = queue.create('order', incomingOrder).save((err) => {
          //err is always null
          if (err) {
            console.error(err)
            apiError(res, err);
          } else {
            apiStatus(res, job.id, 200);
          }
 })

Unfortunately you can't return statuses to the client with this offline mode order queue. please do use directBackendSync option for placing orders to avoid situation like this