text:
Running iree-import-tflite pass pipeline failed with 'tosa.cast'

Sometimes when I excute iree-import-tflite command, it returns with 'tosa.cast’ error like:
2023-02-22 21:14:01.434346: I external/org_tensorflow/tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  SSE3 SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
./gen_2/openvino2tensorflow/tfl_50/model_float32.tflite:0:0: error: 'tosa.cast' op result #0 must be tensor of number values, but got 'tensor<1x1x1x1xf64>'
./gen_2/openvino2tensorflow/tfl_50/model_float32.tflite:0:0: note: see current operation: %4 = "tosa.cast"(%3) : (tensor<1x1x1x1xf16>) -> tensor<1x1x1x1xf64>
Running iree-import-tflite pass pipeline failed (see diagnostics)

The INFO of the model:
Model: "model"
____________________________________________________________________________________________________________________________________________
 Layer (type)                                 Output Shape                   Param #         Connected to
============================================================================================================================================
 v2_0 (InputLayer)                            [(1, 1, 1, 1, 1)]              0               []

 tf.math.reduce_sum (TFOpLambda)              (1, 1, 1, 1)                   0               ['v2_0[0][0]']

 tf.cast (TFOpLambda)                         (1, 1, 1, 1)                   0               ['tf.math.reduce_sum[0][0]']

 tf.math.ceil (TFOpLambda)                    (1, 1, 1, 1)                   0               ['tf.cast[0][0]']

 v0_0 (TFOpLambda)                            (1, 1, 1, 1, 1)                0               ['v2_0[0][0]']

 v5_0 (TFOpLambda)                            (1, 1, 1, 1)                   0               ['tf.math.ceil[0][0]']

============================================================================================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0

Could anyone know what shouldI do next?

F64 not supported by TOSA. Not sure why F32 model has F64s.

authors: XCY-Joestar jpienaar


text:
e2e_matmul_direct_* tests not running in CI

I can't figure out why, but the e2e_matmul_direct_* mostly aren't running in CI at all AFAICT. Looking at all the jobs from the most recent passing CI run (https://github.com/openxla/iree/actions/runs/5273187742), a few of them show up in the Bazel job, but that's it

Bazel: https://github.com/openxla/iree/actions/runs/5273187742/jobs/9536311629

//tests/e2e/matmul:e2e_matmul_direct_f32_small_llvm-cpu_local-task
//tests/e2e/matmul:e2e_matmul_direct_f32_small_no_padding_llvm-cpu_local-task
//tests/e2e/matmul:e2e_matmul_direct_f32_small_ukernel_vmvx_local-task
//tests/e2e/matmul:e2e_matmul_direct_i8_small_llvm-cpu_local-task
//tests/e2e/matmul:e2e_matmul_direct_i8_small_ukernel_vmvx_local-task

I was slightly suspicious of my own https://github.com/openxla/iree/commit/2dddf02a12a2219fd80d457b5bf32dd155eb3b66 since it messed with exclusion tags, but looking at the job from before that, the same holds true: https://github.com/openxla/iree/actions/runs/5246578520
Another suspicious one was https://github.com/openxla/iree/commit/dc1684d9903fbe36d3f7884a02401c5d3f1815f2, but after that PR the tests actually were running: https://github.com/openxla/iree/actions/runs/4813700860/jobs/8570769114. So we've got a "regression" in that range. The investigation continues...

FYI @bjacob

Good find! Are you continuing the bisection or need me to take this over?

Ha, ok, thanks very much for the bisection. I'll work on the fix now. self-assigning.

This sort of thing has happened a couple times. I'm trying to think of a way we could catch it. Something like parsing the CI logs and looking for changes in the names of tests run, but I think that would be super noisy

FYI, it looks like these tests actually just aren't configured at all:
gcmn@ct 2023-06-15 11:51 [iree] [hi] ~/src/iree$ ctest --test-dir ~/build/iree/default -N -R e2e_matmul
Internal ctest changing into directory: /usr/local/google/home/gcmn/build/iree/default
Test project /usr/local/google/home/gcmn/build/iree/default
  Test   #41: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_small_ukernel_llvm-cpu_local-task_avx2_fma
  Test   #42: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_small_ukernel_llvm-cpu_local-task_avx512_base
  Test   #43: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_small_ukernel_llvm-cpu_local-task_avx512_vnni
  Test   #44: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_large_ukernel_llvm-cpu_local-task_avx2_fma
  Test   #45: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_large_ukernel_llvm-cpu_local-task_avx512_base
  Test   #46: iree/tests/e2e/matmul/e2e_matmul_mmt4d_i8_large_ukernel_llvm-cpu_local-task_avx512_vnni
  Test   #47: iree/tests/e2e/matmul/e2e_matmul_mmt4d_f32_small_ukernel_llvm-cpu_local-task_avx2_fma
  Test   #48: iree/tests/e2e/matmul/e2e_matmul_mmt4d_f32_small_ukernel_llvm-cpu_local-task_avx512_base
  Test   #49: iree/tests/e2e/matmul/e2e_matmul_mmt4d_f32_large_ukernel_llvm-cpu_local-task_avx2_fma
  Test   #50: iree/tests/e2e/matmul/e2e_matmul_mmt4d_f32_large_ukernel_llvm-cpu_local-task_avx512_base
  Test #1311: iree/builtins/ukernel/tools/e2e_matmul_benchmark_test

Total Tests: 11

gcmn@ct 2023-06-15 11:51 [iree] [hi] ~/src/iree$ ctest --test-dir ~/build/iree/default -N -R e2e_matmul_direct
Internal ctest changing into directory: /usr/local/google/home/gcmn/build/iree/default
Test project /usr/local/google/home/gcmn/build/iree/default

Total Tests: 0

Fix: #14137

Since this was a cmake-time bug, this could be caught by cmake logic, say we could require certain targets to exist at the end of cmake.

source: gharchive/issue

authors: GMNGeoffrey bjacob

repo: openxla/iree

license_type: permissive

license_source: github-api


text:
Improve Tensor and Element prettyprinting

As discussed, it would be good to align the constant format defined by the spec, and prettyprinting of Tensor and Element. While we're there, let's decide on print and dump (do we need both? do we need to append \n to dumps?).

Adding one more expectation  from pretty-printing: At the moment, tensor  are printed following the canonical ordering of elements where each of the lements are printed in its own line. That makes the print of a tensor object pretty verbose.
We might have the following prototype using  DenseElementsAttr::print. Below is how a 2x3 shaped tensor with different types would look like:
dense<[[-8, 0, 4], [-6, 7, 5]]> : tensor<2x3xi4>

dense<[[-8.000000e+00, 0.000000e+00, 4.000000e+00], [-6.000000e+00, 7.000000e+00, 5.000000e+00]]> : tensor<2x3xf64>

dense<[[(3.000000e+00,5.000000e+00), (1.500000e+01,1.100000e+01)], [(3.000000e+00,5.000000e+00), (1.500000e+01,1.100000e+01)]]> : tensor<2x2xcomplex<f64>>

With that, the print of tensor, with integer, floating-point, or complex  element type, is not only aligned with the spec but also  with how input tensors are specified in the test-cases . The later is also important because if the input tensor is following a particular structure, which in this case means explicitly specifying the shape using parenthesis, then it is expected that the output tensor to follow the same.
Also, as suggested by @burmako, we do not have to print  above constants entirely  in a single line as that wont look elegant   in a test-case file with line overflows. Instead we can use CHECK-SAME lit directives to break them.

print and dump (do we need both? do we need to append \n to dumps?).

In our current implementation, the distinction between dump and print are kind of blurred because we are using Tensor::print in exactly the same way as Tensor::dump uses it.
But having one seems inlined with how MLIR objects handles printing. Maybe in future print can deliver more functionalities (than the current choice of stream handle) parameterized based on arguments and dump can implement a specific flavor of it.
IMO, dump should have the "\n" following what other MLIR object are doing. (This is an after though after I removed it)

repo: openxla/stablehlo

license_source: bigquery


text:
modify yurt-manager client's default qps and burst

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #1822
Special notes for your reviewer:

none
Does this PR introduce a user-facing change?

modify yurt-manager client's default qps and burst

other Note

modify yurt-manager client's default qps and burst

@lilongfeng0902 It's a good job, Thank you

source: gharchive/pull-request

repo: openyurtio/openyurt


text:
Zitifying ssh doc

This PR will be the first one talking about using zssh. Next one I think will be shorter and quick and will deal with HOW we used the golang sdk to zitify ssh.

taking this down and will move it over to ziti-doc since it's not about ziti per-se but more about 'using ziti'. the comments made have been addressed, thank you!

repo: openziti/ziti


text:
Keycloak does not start

Running docker compose up does not properly start the keycloak service.
jboss.keycloak-1  | Updating the configuration and installing your custom providers, if any. Please wait.
jboss.keycloak-1  | 2024-12-06 06:06:30,341 INFO  [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 3063ms
jboss.keycloak-1  | Option: '--features admin-fine-grained-authz' is not expected to contain whitespace, please remove any unnecessary quoting/escaping
jboss.keycloak-1  | Possible solutions: --features, --features-disabled
jboss.keycloak-1  | Try 'kc.sh start-dev --help' for more information on the available options.
jboss.keycloak-1 exited with code 2

In docker-compose.yml:
--features admin-fine-grained-authz

must be
--features="admin-fine-grained-authz"

But the feature is not found then:
jboss.keycloak-1  | "admin-fine-grained-authz" is an unrecognized feature, it should be one of [account, account-api, admin, admin-api, admin-fine-grained-authz, authorization, cache-embedded-remote-store, ciba, client-policies, client-secret-rotation, client-types, clusterless, declarative-ui, device-flow, docker, dpop, dynamic-scopes, fips, impersonation, kerberos, login, multi-site, oid4vc-vci, opentelemetry, organization, par, passkeys, persistent-user-sessions, preview, recovery-codes, scripts, step-up-authentication, token-exchange, transient-users, update-email, web-authn]

repo: operaton/operaton-keycloak


text:
Update hazelcast-operator to 0.3.4 - community

Signed-off-by: Muhammet Yazici muhammet.yazici@boun.edu.tr
Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?
[ ] Have you tested your Operator with all Custom Resource Definitions?
[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Submit operators to both upstream-community-operators and community-operators at once
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

Hi @mtyazici, please get approval from @leszko or @hasancelik that you can edit this operator. It is needed just for the first time.

Hi @mtyazici, please get approval from @leszko or @hasancelik that you can edit this operator. It is needed just for the first time.

/ok-to-test

/ok-to-test

/approve

/approve

/lgtm

/lgtm

/retest

/retest

/retest

authors: J0zi leszko mtyazici

repo: operator-framework/community-operators


text:
Add optional flag for having CSV's owned by their Subscription.

Feature Request
Is your feature request related to a problem? Please describe.
Driven by an issue in ArgoCD: https://github.com/argoproj/argo-cd/issues/2999
It would be nice for an ArgoCD user to see status of all the child resources created by their Subscription when they create it via an ArgoCD application. This is based on OwnerReferences, but because the CSV does not have an owner ref to it's Subscription the chain is broken, and an Argo user cannot see the status of the resulting pods.
Based on discussion with @kevinrizza and @exdx it was mentioned that this is because removing a Subscription means you do not want to be Subscribed anymore, not that you want to uninstall your operator.
Describe the solution you'd like
Would it be reasonable to have some kind of option on a Subscription that indicates it should be set as the owner of it's CSVs?
Some overlap with: https://github.com/operator-framework/operator-lifecycle-manager/issues/1088 and possibly the suggested simplify API's enhancement: https://github.com/openshift/enhancements/blob/master/enhancements/olm/simplify-apis.md#proposal

I think we're going to implement something in ArgoCD to explicitly detect this relationship for these types.


text:
MVC Model: Setting just numbers for values in OptionField doesn't work

Hi,
for my model I just need to set plain numbers, like 0, 1, 2 or 3.
If I set them like:
        <use_rport type="OptionField">
            <default>0</default>
            <multiple>N</multiple>
            <Required>Y</Required>
                <OptionValues>
                    <0>0 - do not add ;rport to via header</0>
                    <1>1 - do add ;rport to INCOMING via header only</3>
                    <2>2 - do add ;rport to OUTGOING via header only</3>
                    <3>3 - do add ;rport to OUTGOING and INCOMING via headers</3>
                </OptionValues>
        </use_rport>

I get:
Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : StartTag: invalid element name in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                      ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : expected '>' in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                                                             ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : Opening and ending tag mismatch: OptionValues line 113 and unparseable in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                                                             ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:115: parser error : StartTag: invalid element name in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <1>1 - do add ;rport to INCOMING via header only</1> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                      ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:115: parser error : expected '>' in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <1>1 - do add ;rport to INCOMING via header only</1> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                                                                       ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:115: parser error : Opening and ending tag mismatch: use_rport line 109 and unparseable in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <1>1 - do add ;rport to INCOMING via header only</1> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                                                                       ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:116: parser error : StartTag: invalid element name in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                     <2>2 - do add ;rport to OUTGOING via header only</2> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

Warning: simplexml_load_file():                      ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 258

A suggestion by @fichtner also didn't work out:
        <use_rport type="OptionField">
            <default>0</default>
            <multiple>N</multiple>
            <Required>Y</Required>
                <OptionValues>
                    <Option1 value="0">0 - do not add ;rport to via header</Option1>
                    <Option2 value="1">1 - do add ;rport to INCOMING via header only</Option2>
                    <Option3 value="2">2 - do add ;rport to OUTGOING via header only</Option3>
                    <Option4 value="4">3 - do add ;rport to OUTGOING and INCOMING via headers</Option4>
                </OptionValues>
        </use_rport>

This would also set:
ua_string = Option2
Templating looke like:
{% if helpers.exists('OPNsense.siproxd.general.use_rport') and OPNsense.siproxd.general.use_rport != '' %}
ua_string = {{ OPNsense.siproxd.general.use_rport }}
{% endif %}

Thanks!
Michael

it wasn't the fix, it was the suggestion to use value="xx" in case it is specified ;)

Seems I was to fast :)

@mimugmail this https://github.com/opnsense/core/commit/c7c1c55c8e4c2e72c84ebd6e9212c4faa25ef9ee should do the trick.

Like this:
<Option1 value="0">0 - do not add ;rport to via header</Option1>
or just
<0>0 - do not add ;rport to via header</0>

<0>

this is still invalid xml :D

No, doesn't work
https://github.com/mimugmail/plugins/blob/siproxd/net/siproxd/src/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml#L114-L117
Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : StartTag: invalid element name in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                      ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : expected '>' in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                                                             ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:114: parser error : Opening and ending tag mismatch: OptionValues line 113 and unparseable in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                     <0>0 - do not add ;rport to via header</0> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                                                             ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:115: parser error : StartTag: invalid element name in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                     <1>1 - do add ;rport to INCOMING via header only</1> in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file():                      ^ in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Warning: simplexml_load_file(): /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml:115: parser error : expected '>' in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 264

Forgot the end:
Fatal error: Uncaught OPNsense\Base\ModelException: model xml /usr/local/opnsense/mvc/app/models/OPNsense/Siproxd/General.xml not valid in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:266
Stack trace:
#0 [internal function]: OPNsense\Base\BaseModel->__construct()
#1 /usr/local/opnsense/mvc/script/run_migrations.php(54): ReflectionClass->newInstance()
#2 {main}
  thrown in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 266
Reloading template OPNsense/Siproxd: OK

Beautiful! Thank you Ad! 👍

Will push this to 17.7.4 as well

authors: AdSchellevis fichtner mimugmail

repo: opnsense/core


text:
installation and keyboard stuck at "Guided installation" - new workaround and bug issue

There seems to be still a freeze bug in 21.1 "Marvelous Meerkat" in installation GUI at least while installing in a hyper-v VM:
Earlier someone reported the issue with the keyboard stuck at "Guided installation" and a workaround pressing Ctrl-C and continue with relogin as the "installer" user.
I now realised another strange behaviours at the same menu during installation:
When I enter the "choose font" entry in the previous menu but don't change anything but press ESC to return to the menu or select the "Return to Configure Console" and the "Accept these Settings", the "Guided installation" menu selection works also fine.
:EDIT: This only works, if you do not enter the keyboard layout submenu after entering the change font submenu. In this case you can use the cursor keys but do not get to the "Guided installation" choice any more :/EDIT:
It seems, that the ESC or "Return to Configure Console" in the change font submenu initializes some menu index variables which is not done, when directly going through to the "guided installation" menu.
By means, going into the "choose font" menu without changing anything before proceeding is another workaround for the keyboard stuck at "guided installation".
Until you fixed the menu/index bug.
Regards
FrySlim

This also happen on a VM setup on VMware ESXi-6.7.0-20191204001-standard.
Thankfully I searched and read this... (I was starting to bang my keyboard.)

Installer has been replaced in 21.1.5 in time for use in 21.7.

authors: FrySlim UltraHKR fichtner


text:
interfaces: remove the opportunistic find_interface_*() function family

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues and I am convinced that mine is new.

Is your feature request related to a problem? Please describe.
The find_interface_*() function family does not know about the current configuration when selecting an IP address. This leads to inappropriate selection. In the past a number of such spots have been replaced with better variants, primarily interfaces_primary_address6().
Describe the solution you like
Replace all remaining uses in core and plugins.
/usr/core # git grep function.find_interface_
src/etc/inc/interfaces.inc:function find_interface_ip($realif, $ifconfig_details = null)
src/etc/inc/interfaces.inc:function find_interface_network($realif, $subnet = true, $ifconfig_details = null)
src/etc/inc/interfaces.inc:function find_interface_ipv6($realif, $ifconfig_details = null)
src/etc/inc/interfaces.inc:function find_interface_networkv6($realif, $subnet = true, $ifconfig_details = null)
src/etc/inc/interfaces.inc:function find_interface_ipv6_ll($realif, $ifconfig_details = null)

/usr/plugins # git grep find_interface
net/upnp/src/etc/inc/plugins.inc.d/miniupnpd.inc:                $addr = find_interface_ip($if);

Describe alternatives you considered
Leaving it as is, but not great. ;)
Additional context
https://github.com/opnsense/core/issues/4651
https://github.com/opnsense/core/issues/4702

Remaining offenders for find_interface_ip*() is 6rd 6to4 configuration.
find_interface_network*() can probably be replaced cleanly by existing variants of interfaces_primary_address*()
Dpinger IPv4 case is a little weird as it tries to match gateway subnet but likely just missed the primary address?

Only find_interface_network(6) left. Moving to 21.7.


text:
Remove Tooltip from Large CPU widget

As it says.

rebase / delete lines?

WTF?
I'll do this one again. ;-/


text:
[Feature Request] Add config option to disable dart formatting

The dart formatter has numerous issues with allowing for customizations and is often disabled. This plugin forces the use of Dart Formatting.

I see, I have not considered that ppl have it turned off.
Will try to add the option in the next days.

You should be able to disable dart fmt now.
Open a new issue in case something is broken now ^^

authors: aroemen oppahansi

license: MIT


text:
Refac: Refactored Decision Listener SourceInfo as per discussion

Ticket

OASIS-4533

Pull Request Test Coverage Report for Build 986

18 of 18 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.613%

Totals

Change from base Build 985:
0.0%

Covered Lines:
2847

Relevant Lines:
3177

💛  - Coveralls

repo: optimizely/java-sdk


text:
Error: 409-Conflict, Kubernetes version does not match Kubernetes version of OKE worker node image (v1.23.4)

Getting this error during terraform apply operation
Error: 409-Conflict, Kubernetes version does not match Kubernetes version of OKE worker node image (v1.23.4)
│ Suggestion: The resource is in a conflicted state. Please retry again or contact support for help with service: Containerengine Node Pool
│ Documentation: https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/containerengine_node_pool
│ API Reference: https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/CreateNodePool
│ Request Target: POST https://containerengine.us-phoenix-1.oci.oraclecloud.com/20180222/nodePools
│ Provider version: 4.87.0, released on 2022-08-03.
│ Service: Containerengine Node Pool
│ Operation Name: CreateNodePool
│ OPC request ID: f68edbeb2a78c6f17cce5288637d37f1/18C45FCF00B120A15F90849C957158A3/79CC752ED67FC51A3571316D8C0978E9
│
│
│   with module.oci-oke[0].oci_containerengine_node_pool.oci_oke_node_pool,
│   on .terraform/modules/oci-oke/oke.tf line 53, in resource "oci_containerengine_node_pool" "oci_oke_node_pool":
│   53: resource "oci_containerengine_node_pool" "oci_oke_node_pool" {

I think this is a version conflict for OKE. I believe if you remove line 22 in oke.tf the module will adopt a version that will not be a problem.  We're looking into a proper fix.

Hi @mahendra-mehra,
I've analyzed the issue and found out that this is temporary. There's a new OKE version released 5 days ago - v1.24.1 , but the compatible Oracle Linux image hasn't been released yet. I expect the problem to disappear on its own within a couple of days.
In the meantime, if you wish, you could manually pass the OKE version which is the one before the last, meaning v1.23.4
You can do this by adding the following line to your terraform.tfvars file:
k8s_version = "v1.23.4"

Or, in Oracle Resource Manager, you can type the same in the Kubernetes version box. Note that you'll have to tick the "Show advanced options" checkbox at the top, in "Required configuration", for the Kubernetes version input to be visible.

authors: mahendra-mehra mp3monster nugoncal


text:
PR for WMS 6824 (Introduction to OML Notebooks)

Hi,
PR requested for the workshop WMS 6824 (Introduction to Oracle Machine Learning Notebooks). The folder name of this workshop is oml in the oml repository.
Added and updated screenshots, added a new lab - Lab 3 - Visualiza your data in OML Notebooks.
Note: Do not push any other workshops inside the oml repository. They are all in WIP status.
Add here your WMS 6824 (Introduction to Oracle Machine Learning Notebooks)
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[x] All filenames are lower case (including folders, images, files, etc.)
[x] Filenames are descriptive
[x] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[x] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[x] Image references in markdown contain an alternate text

Hi @carmenberdant1 ,
index.html file updated and also Self QA completed for this workshop.
Thanks

repo: oracle-livelabs/oml


text:
Add function to set database initialization parameters

You will be able to set the initialization parameters of the database by this change.

What benefit does this deliver that cannot be achieved by setting the parameter directly once the database container is up?

@gvenzl I see some params like db_unique_name that cannot be changed after DB creation, and that are quite important if you want to set up two containers with Data Guard for instance.

That parameter can be controlled via -e ORACLE_SID=<YOUR DB> when starting the container.

The SID can, the db_unique_name cannot; in my case Primary and Standby share the same SID while they have different db_unique_names... But there are many other changes that must be done to init scripts anyway to make primary-ready and standby-ready images, i.e. this PR would only address a small part :)

The trouble I have with this is that if users can just randomly set init parameters the DB creation might fail because of that. Of course that would be the users responsibility but the reality is that this will lead to a lot of new GitHub issues from not so advanced users and will leave a bad taste in their mouths. I rather have a simple, ready to go Oracle DB in Docker that addresses the needs of 90% of the users out there -> "Give me an Oracle DB in Docker", rather than trying to put in every edge case that will just make the build more complicated.
Advanced users can always build their own Dockerfile from the official one, one of the benefits that the DB is created on container startup and not fix in the image, and do with it whatever they want.
We even simplified that by providing shell scripts to group instructions so that some of this is reusable.
If there is a parameter that we are missing and that makes a lot of sense, I'm happy to expose it via -e directly but just giving users the ability to set any init.ora parameter doesn't sound right to me. I just can't see the need for that, hence why I'm asking why you want this. :)

+1 to keeping Dockerfiles simple. Advanced users should just tweak their own files.

i think this is really missing! Its quite hard to fiddle out how to create a database with a specific init.ora. So bad this was simply closed

@Gr33nbl00d, what stops you from extending the image and build a database specific to your needs or use the /opt/oracle/scripts/setup functionality to set the parameters you need in the spfile?

authors: Gr33nbl00d brunoborges chiroito clemSeveillac gvenzl

repo: oracle/docker-images


text:
Wrong sample port number in README.md

In the OracleWebLogic/README.md file is written that the samplewls:12.1.3 docker image starts a WL console at the port 8001. However, in other places of the same document the console is associated with the port 7001. Sometimes the two different port numbers are used in the same sentence, e.g.:
'''
Now you can access the AdminServer Web Console at http://172.17.0.27:7001/console. You can also access it locally if you bind port 8001 to your host, with -p 8001:8001.
'''

Thanks @ufoscout. It has been fixed.

authors: brunoborges ufoscout

repo: oracle/docker


text:
Single.never not singleton

As discovered by @spericas all Single.nevers where cancelled when any of them got.
Signed-off-by: Daniel Kec daniel.kec@oracle.com

Merging to incorporate these changes to PR #2348

authors: danielkec spericas

repo: oracle/helidon


text:
OKE-26958 Web application firewall integration

Added support for annotation oci-native-ingress.oraclecloud.com/waf-policy-ocid which enables user to add firewall policy id to IngressClass. It helps us create and add firewall to the corresponding LB.
Post creation of firewall, we add the corresponding firewall ocid to the ingressclass via oci-native-ingress.oraclecloud.com/firewall-id.

Pull Request Test Coverage Report for Build 5783403938

25 of 73 (34.25%)  changed or added relevant lines in 5 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.8%) to 56.594%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controllers/routingpolicy/routingpolicy.go
2
3
66.67%

pkg/controllers/routingpolicy/util.go
15
17
88.24%

pkg/server/server.go
0
7
0.0%

pkg/controllers/ingressclass/ingressclass.go
8
19
42.11%

pkg/util/util.go
0
27
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/routingpolicy/routingpolicy.go
2
35.64%

pkg/controllers/ingressclass/ingressclass.go
3
51.11%

Totals

Change from base Build 5667243216:
-0.8%

Covered Lines:
2004

Relevant Lines:
3541

💛  - Coveralls

authors: Inbaraj-S coveralls

repo: oracle/oci-native-ingress-controller


text:
Optionally log to file

It would be nice to have the option to log to a file in addition to/instead of just stdout.

Looks like this func. exists in the base controller:
-log_dir string

repo: oracle/oci-volume-provisioner


text:
Fixes necessary for 2.6.0 to 3.0.0 upgrade

Thank goodness @vanajamukkara tested the upgrade path again!
I found and fixed a few problems:

When the CRD replacement failed, you could only see the error message with FINE logging
The new schema version was added to the CRD in the wrong place
For the v1beta1 CRD version, we weren't updating the top-level version field
We were failing to mark the older schema versions as no longer being storage versions
We were failing to mark the new schema version as being the storage version

We were also seeing a problem with etcd complained that the updated CRD was "too big". The only solution to this was to change schema generation to not include descriptions from the built-in Kubernetes types that we reference. I compensated for this by referring to the kubectl explain documentation for those types.

@rjeberhard should the upgrade from Operator 2.5.0 to 3.0.0 work? I see the CRD version is updated to v8, but only admin server is restarted not the managed servers and NPE in operator logs on k8s 1.15.11, scaling is not working. Not sure if this should work.

@vanajamukkara

@rjeberhard should the upgrade from Operator 2.5.0 to 3.0.0 work? I see the CRD version is updated to v8, but only admin server is restarted not the managed servers and NPE in operator logs on k8s 1.15.11, scaling is not working. Not sure if this should work.

I don't know if this could be made to work, but I'm okay documenting that customers can only upgrade to 3.0.0 from 2.6.0.

@vanajamukkara, if you are happy :) then please go ahead and approve this PR.

authors: rjeberhard vanajamukkara

repo: oracle/weblogic-kubernetes-operator


text:
upgrade message-tags to non-draft version

This upgrades message-tags to the non-draft version. It fixes #434. It also has work-in-progress towards a few other issues (#437, #433, #395). It cleans up the message sending interfaces a little; I expect them to get cleaner as we make progress on those other issues.
It also fixes two bugs that don't have their own issue numbers:

Rehash currently detects changes in the available languages even when nothing has changed, because the detection code compares the cap string values (e.g., draft/languages=11,en,~el,~en-AU,~es,~fr-FR,~no,~pl,~pt-BR,~ro,~tr-TR,~zh-CN), which were previously not sorted; the string would change due to nondeterministic iteration order.
Split messages did not receive consistent message IDs. This branch stores the message ID inside the utils.SplitMessage type, making it easier to keep a message together with its unique ID.

I have a couple of irctests for this change (including one for ERR_INPUTTOOLONG) but they're not backwards-compatible, so I haven't pushed them yet.

Not sure if I’ve misunderstood 2) but split messages shouldn’t share a msgid, each privmsg needs a unique id

They don't share msgids with each other or with the unsplit message; rather, the message is split exactly once, and at that time, each split piece receives a msgid that will be unique across all replays.

Nice, thanks for the change. Overall looks good, I'm happy to merge this as-is, and we'll give it a test and see how it goes in future.

authors: DanielOaks jwheare slingamn

repo: oragono/oragono


text:
Can you add a syncrhonized RGB-D topic?

Hi,
Currently the color image and depth image are published in separate topics. Can you add a RGB-D topic, where the color and depth images are synchronized and sent in a single message?
You already have RGBD.msg here.
Realsense provides this RGB-D topic as shown here.
Currently, you need an ApproximateTimeSynchronizer to achieve this as in here.
Thanks!
Junwei

Hi, @JunweiLiang. Thank you for your feedback. This feature will be added to the next release, possibly next week.

authors: JunweiLiang jian-dong


text:
[FEATURE] design changes

Updates UI of widget as per new design
Also fixes a number of accessibility issues 😌  Rambly loom about that here: https://www.loom.com/share/98298ad36be0493a9147852b00b7c348

Before
After

Member content

Authentication error

Orbit API error

Additional data error

Not a member

Notes:

Does not include the orbit level rings requested by design. This is awkward to add, and we show the orbit level anyway

Quick sidenote: your PR descriptions really make it easy to see at a glance what the PR is about. Kudos!

Other (mostly unrelated) suggestions:
Action button copy
Can we make it so that the Go to X’s Orbit profile // Add X to Orbit do not mention the username? While it looks fine on most platforms, on LinkedIn and GMail it’s really long and stretches the widget:

Maybe we can go with the simpler Go to Orbit profile -> (or Visit?) and Add to Orbit (without mentioning the workspace)?
Dropdown vertical positionning
On some platforms the dropdown seems a bit far away from the button (this depends on the platform because the button height varies). We use mt-2, I tried various combinations of mt-* and top-* and I think I like top-10 the best across platforms. Give it a try on your end and feel free to pick whatever value you find best!

repo: orbit-love/orbit-browser-extension


text:
Remove dependency on FS based modules.

The code imports fs and path modules which cannot be used in the browser, is there a way these can be refactored out so that it can more easily be bundled and used in a browser?
I know these modules are shimmed and/or conditionally used based on environment but trying to bundle it with Vue 3 (Webpack 5) it breaks because these modules are not included. If you replace these packages or disable them in the Webpack configuration it breaks other things that use them (path) during compile time.
It would be really good to make it as seamless as possible between the browser and node environments like Libp2p and IPFS does.

Hopefully this is done in orbit-db-nextgen with Helia...

Hopefully this is done in orbit-db-nextgen with Helia...

Yeah, been working on it:

https://github.com/orbitdb/orbit-db-nextgen/pull/57
https://github.com/orbitdb/orbit-db-nextgen/pull/62

Thanks! Any idea why the fs shim isn't working for me?
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'mkdirSync')
Happens on this line, in the browser:
https://github.com/orbitdb/orbit-db-storage-adapter/blob/de44df31324d69a27de506d868cb0a1daeaa65b1/src/index.js#L43
Which is weird because if fs is null after all, why would anything after the && even get run?

Which is weird because if fs is null after all, why would anything after the && even get run?

Yeah, I gave up on the current version because of issues like this and jumped to nextgen and had better luck (but of course I have to put up with it's instability since it is in active development). That line should not be causing issues but what I think what is going on here is that that when webpack compiles this it does a few checks and fails then (even through it would work at compile time).
Your best bet is copying their webpack configuration:
https://github.com/orbitdb/orbit-db/blob/main/conf/webpack.config.js

That line should not be causing issues
Well, when I remove it, OrbitDb works fine...

I'm not using Webpack, but Vite, which uses Rollup for production builds. I needed to polyfill the node built-ins for OrbitDb/IPFS (can you confirm if NextGen still requires these?) and it works fine in dev and mostly in production except for this one error. The polyfill just sets fs to null, which IIUC is exactly what OrbitDb is checking for anyway.

Not familiar with Vite, the only thing I can think of is that something in the compilation process is modifying that line or the compilation process that you are using has a false positive error there. I wonder if changing that line to if (fs != null && fs?.mkdirSync != null) would change anything.
Nextgen does not need node's fs, path or buffer modules but it does need events (I have a PR for that one which you can merge locally if you have issues with it: https://github.com/orbitdb/orbit-db-nextgen/pull/63). Again there might be other issues with the nextgen that might make it unusable for you until they finish it.

´fs´ and ´path´ have been removed in v1.0.0. Note the new package name.
Feel free to re-open this issue or create a new one if you're still having problems with transpilers.

authors: Erudition haadcode saul-jb

repo: orbitdb/orbit-db


text:
Feat/dragndrop

Changes

File uploading with drag and drop when in a channel

LGTM +1

authors: JaniAnttonen latenssi

repo: orbitdb/orbit-web

license: mit


text:
Make response meta data available

When requesting remote data only the data and included portions of the response are processed. The JSONAPI spec allows for non-standard data to be returned in a top level meta object. I'm using Orbit in a glimmer app at the moment that needs to paginate a table. My API returns a total number of pages in the meta parameter but Orbit doesn't expose away to access it AFAIK.
Orbit is a great library. Maybe in a few weeks I can dig into this a bit but wanted to log the feature request here.

@mrosenberg Thanks for your kind words about orbit, as well as for raising this issue that's also been on my wish list.
As with the JSON:API spec, meta data can be added both at the resource-level (i.e. record-level), the relationship-level, and the document-level (i.e. response meta).
I'd like to add new update operators for modifying record and relationship-level metadata - perhaps:

updateRecordMeta (merging meta data)
replaceRecordMeta (a full replacement)
updateRelationshipMeta (merging meta data)
replaceRelationshipMeta (a full replacement)

In addition, and perhaps closer to your needs, I'd like to make meta data available per response. One approach would be to use a symbol to attach meta data to a query response, and then provide a helper to get it:
let results = await store.query(q => q.findRecords('planets');
let meta = getResponseMeta(results);
console.log(meta.pageCount);

Another approach would be to just track this response-level meta data at the JSONAPISource and then provide a way to access it, say by query ID. Of course, this meta data could build up and would need to be cleared periodically.
I'm still thinking over the best approach here, and open to ideas of course :)

I didn't think about the multiple locations that allow for meta so that raises interesting questions. For document level meta I like the per-request option. Things like total pages, api quota remaining, caching info, probably doesn't need to have a long shelf life.

Is there any way to handle pagination right now? It seems that having a record count or page count would be essential but perhaps there's a strategy I'm not thinking about?

We are adding meta and links to processor response #668. After that it is mostly a matter of choosing an api and implement it. I like the idea of accessing meta by query/transform ID but we need to keep in mind that a single transform can produce several requests and so several meta/links sets...

So how can I access the meta property from the response ???

As of #794, available in the latest v0.17.0-beta.12, you can now use the fullResponse: true option to access the response document when querying the JSONAPISource:
const { data, details, transforms } = await source.query(
  (q) => q.findRecord({ type: 'planet', id: '1' }),
  { fullResponse: true }
);

console.log('document meta', details?.document?.meta);

If you choose to pass hints in your coordination strategies, you can even access these details from memory source queries.

authors: dgeb mrosenberg mspiderv pinetops tchak

repo: orbitjs/orbit


text:
Bump compose spec

Describe the bug
Please bump the compose spec ASAP to the latest as the version used in 1.5.0 breaks compose with extends:
service can't be used with extends as it declare depends_on

See docker/compose#11544 for more details, it has been already fixed in the compose-spec/compose-spec#470 and compose-spec/compose-go#591.
To Reproduce
No response
Expected behavior
No response
Diagnostic report (REQUIRED)
No response
Screenshots and additional context (optional)
No response

v1.5.0 hotfix released.

repo: orbstack/orbstack


text:
RadioButton не отображает old() значение

При ошибке валидации на стороне сервера, в радио-баттоне не отображается old() значение (то есть, нужный не становится checked) если в RadioButtons::options() в качестве ключей integer или string-числа. Если в качестве ключей делать любые другие строки, то все нормально.
Пример:

radioButton.blade.php
@component($typeForm,get_defined_vars())

            @foreach($options as $key => $option)
                @php
                    $active = $key === ($value ?? null);
                @endphp

                fields--radiobutton#checked"
                >
                    <input @include('platform::partials.fields.attributes', ['attributes' => $attributes])
                           @if($active) checked @endif
                            value="{{ $key }}"
                    >{{ $option }}
            @endforeach

@endcomponent

Здесь  $value всегда преобразуется в строку, а т.к числовые строки в качестве ключей в массиве всегда приводятся к int, то в результате строгого сравнения  $key === $value получается этот баг.
Решение: преобразовывать $key  в string или использовать нестрогое сравнение.

Platfrom Version: 6.3.2

Думаю мы должны сделать строгое текстовое сравнение

@Leshkens Пожалуйста проверь build сборку. Это должно отлично работать сейчас.

@Leshkens Пожалуйста проверь build сборку. Это должно отлично работать сейчас.

Вроде все хорошо

authors: Leshkens tabuna

repo: orchidsoftware/platform


text:
Remove buildDd return type in Sight

Proposed Changes

Make Sight buildDd() function have the same return type (none) as buildDd() in TD so the render function can have the same behavior.

Hi, can you give an example where this behavior gets in the way?

@tabuna here is an example of what I am trying to accomplish but the forced return gets in the way
   Sight::make('Status')->render(fn() => $this->canceled ? Color::DANGER(): Color::INFO()),

Hey @hm-alishah
For your objects to be returned, they must have tostring.
For PHP 7.4 and below, you must explicitly indicate that you want the string. Example:
(string) $object;

authors: astersnake hm-alishah tabuna


text:
The graph is cluttered such that the titles cannot be read - is there any way of spreading out the graph automatically?

Here is how my graph looks like. Is there a way to spread it out automatically such that all the titles can be read easily?

You can set node shape to box. The titles will be within the boxes.
(setq org-roam-server-extra-node-options (list (cons 'shape "box")))

Nice:)
But it is still cluttered... And the bright font is hard to read on the colored nodes.
I guess it is better to have without the box...

You can also set avoidOverlap in the physics but it might not converge to a stable position so all nodes might move constantly.
(setq org-roam-server-network-vis-options
      (json-encode
       (list
        (cons 'physics (list (cons 'barnesHut (list (cons 'avoidOverlap 0.1)))))
        (cons 'nodes (list (cons 'shape "box")
                           (cons 'font (list (cons 'color "white"))))))))

This is the only solution I can come up with

That works quite well! Thanks!

repo: org-roam/org-roam-server


text:
Translated German FAQ, small english adjustments

Updated German embedded-FAQ translations and small adjustments to the English version.
(Changed the link to OSM, because the https://welcome.openstreetmap.org/ page targets at commercial users and businesses)

Thanks for adding the new FAQ to the App repository as well!


text:
🛑 Habitat / Licenskontroll av domännamn is down

In 3df8fbd, Habitat / Licenskontroll av domännamn ($HABITAT_DOMAINCHECK_ENDPOINT/oribi.se) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Habitat / Licenskontroll av domännamn is back up in a827087.

repo: oribisoftware/upptime


text:
website is down

website down

Second this, we are seeing a 500 error: https://github.com/data-engineering-community/data-engineering-wiki/issues/60

Now are all up, closing

authors: JPHaus ppazos tglman

repo: orientechnologies/orientdb


text:
Property Not Exist when using ALTER PROPERTY

Item 3134 was closed, though I'm not sure why.  It is still a problem that I can reproduce after installing 2.0-rc2 using the default database.
Using the sample default GratefulDeadConcerts db, I'm trying to change the collation to be case insensitive. I try the following:
ALTER PROPERTY V.name COLLATE ci
I get the error:
com.orientechnologies.orient.core.exception.OCommandExecutionException: Property 'V.name' not exists
The output of info and info class V are below.
Has anyone figured this out yet? It's frustrating to be stuck on something so basic, even more so that the issue was marked "closed".
orientdb {db=GratefulDeadConcerts}> info
Current database: GratefulDeadConcerts (url=remote:localhost/GratefulDeadConcerts)
DISTRIBUTED CONFIGURATION: none (OrientDB is running in standalone mode)
DATABASE PROPERTIES
--------------------------------+----------------------------------------------------+
NAME | VALUE |
--------------------------------+----------------------------------------------------+
Name | null |
Version | 14 |
Conflict Strategy | version |
Date format | yyyy-MM-dd |
Datetime format | yyyy-MM-dd HH:mm:ss |
Timezone | GMT |
Locale Country | UK |
Locale Language | EN |
Charset | UTF-8 |
Schema RID | #0:1 |
Index Manager RID | #0:2 |
Dictionary RID | null |
--------------------------------+----------------------------------------------------+
CLUSTERS
----------------------------------------------+-------+-------------------+----------------+
NAME | ID | CONFLICT STRATEGY | RECORDS |
----------------------------------------------+-------+-------------------+----------------+
_studio | 14 | | 0 |
default | 3 | | 0 |
e | 10 | | 0 |
followed_by | 11 | | 7047 |
index | 1 | | 2 |
internal | 0 | | 3 |
manindex | 2 | | 1 |
ofunction | 6 | | 0 |
orids | 8 | | 0 |
orole | 4 | | 3 |
oschedule | 7 | | 0 |
ouser | 5 | | 3 |
sung_by | 13 | | 501 |
v | 9 | | 809 |
written_by | 12 | | 501 |
----------------------------------------------+-------+-------------------+----------------+
TOTAL = 15 | 8870 |
------------------------------------------------------+-------------------+----------------+
CLASSES
----------------------------------------------+------------------------------------+------------+----------------+
NAME | SUPERCLASS | CLUSTERS | RECORDS |
----------------------------------------------+------------------------------------+------------+----------------+
_studio | | 14 | 0 |
E | | 10 | 0 |
followed_by | E | 11 | 7047 |
OFunction | | 6 | 0 |
OIdentity | | - | 0 |
ORestricted | | - | 0 |
ORIDs | | 8 | 0 |
ORole | OIdentity | 4 | 3 |
OSchedule | | 7 | 0 |
OTriggered | | - | 0 |
OUser | OIdentity | 5 | 3 |
sung_by | E | 13 | 501 |
V | | 9 | 809 |
written_by | E | 12 | 501 |
----------------------------------------------+------------------------------------+------------+----------------+
TOTAL = 14 8864 |
----------------------------------------------+------------------------------------+------------+----------------+
INDEXES
----------------------------------------------+------------+-----------------------+----------------+------------+
NAME | TYPE | CLASS | FIELDS | RECORDS |
----------------------------------------------+------------+-----------------------+----------------+------------+
dictionary | DICTIONARY | | | 0 |
ORole.name | UNIQUE | ORole | name | 3 |
OUser.name | UNIQUE | OUser | name | 3 |
----------------------------------------------+------------+-----------------------+----------------+------------+
TOTAL = 3 6 |
-----------------------------------------------------------------------------------------------------------------+
orientdb {db=GratefulDeadConcerts}> info class V
Class................: V
Default cluster......: v (id=9)
Supported cluster ids: [9]
Cluster selection....: balanced
orientdb {db=GratefulDeadConcerts}>

It has been quite frustrating.  I've opened three issues for this and each time they close the issue without it being resolved.
I'm having other issues as well with Traversal that haven't been resolved.  I've worked with other graph db's and have never had this difficult of a time.  Not sure OrientDB is the correct solution for what I'm trying to accomplish because of the lack of basic graph functionality and support.

@na2014
can you execute
info class V
and paste here the result?

It's already there - "select * from V"  shows a section titled "Properties" with a field called "name".  I'm using the sample database included with the release candidate, so I think this should be easy to reproduce.

Yes it is there
but not in the schema.
see here
http://www.orientechnologies.com/docs/last/orientdb.wiki/Schema.html

Ok - that was it.  When I made "name" part of the schema, the command worked.  Here are 3 problems that came up when doing this:

tutorials I saw seemed to use the release candidate, not the stable release, so I'm working with that.  That was a little confusing at first, and I really would prefer to use stable.

After creating the property "name" in the Studio, changing the collation to CI in the Studio doesn't work.  I could select CI in the pulldown menu, but clicking "save" didn't do anything.  I had to run the ALTER command as a query instead.  No error message is thrown, making this more confusing.

The "info" commands cannot be run from within the studio.

I can't figure out the commands from the command line to show the schema, so I find myself uncomfortably toggling between the studio and the command line to get all this done.  The documentation shows commands that must be run in some other language, and I can't figure out what language it is or where they go (where do I type "OSchema schema = database.getMetadata().getSchema();"?)

Trying to capture errors in the studio was annoying since they appeared and then disappeared before I could read them.  Why would error messages disappear automatically instead of letting me dismiss them, and why are they appearing at the bottom of the window instead of inline where we were awaiting the response?

There's obviously a lot going on here, including both the product shortcomings and my own.  But I think of myself/team as being in your core audience, and thought that this still isn't as smooth a product as it should be, especially for a 2.0 version.  I haven't had this much trouble when trying any other db products out there.  I totally appreciate the work that went into this, and am excited about the potential here.  I think having a release focused on making things more polished would really help.
thanks!

Also, info class V doesn't seem to change, even after I added "name" to the schema.  The output of the command before adding name to the schema is in my very first posting at the end, here's the output after adding to the schema:
orientdb {db=GratefulDeadConcerts}> info class V
Class................: V
Default cluster......: v (id=9)
Supported cluster ids: [9]
Cluster selection....: balanced
orientdb {db=GratefulDeadConcerts}>

@na2014
thank you for your feedback
some quick response for your issues.

2.0 stable should arrive the next week

this is a bug, i will look into it

info is not available because studio rely on http api and uses orientdb sql
info is a console only command

to view schema on console run info/ info class
in studio go to the schema UI

this has been changed. Before it was sticky and top but i found it annoying that every time i have to click on x to close the notification. If you catch up the error you can go hover on the notification
it will remain open until you remain on it

Hi,
Thank you for the feedback.  Seems like the HTTP API is a limiting factor in the UI development.
Would it be a good idea to see if you could reuse another 3rd party DB UI, such as PHPMyAdmin, and then add in the orientdb specific features?  This would let you reuse their interfaces, which have been proven over time, and focus on db features.  You might also want to use an alternate API if the HTTP one doesn't support the full functionality.  I like the idea of an HTTP API, but find having a fully functional UI far more important and don't care how the UI communicates with the db to do that.  If license terms are an issue, it could be maintained as a separate project, letting development focus on the core db features.
I hope the group doesn't take this the wrong way - the UI is a good start.  But it got in the way of my ability to work through the system, and that was frustrating.
Thanks again for the fast resolution and helpful responses here.

To clarify, having a fully functional UI that uses any API is more important than a UI that uses specifically the HTTP API.  The HTTP API is perfectly good as a separate means to access the db.  But I don't think the UI should be hampered by HTTP API's missing features.

I'm quite lost here. What's the problem with this issue?

The issue has been closed because no response has been received after a while. In case the issue is still valid, please reopen it or write a comment that explains why it's still valid and a way to reproduce it. Thank you.


text:
"java.lang.OutOfMemoryError: GC overhead limit exceeded" on massive Insert

Hi,
I got an OutOfMemoryError while inserting about 10^6 Nodes in a OrientGraph.
orientdb.err
2015-02-03 11:18:03:156 INFO  OrientDB auto-config DISKCACHE=13,880MB (heap=455MB os=16,384MB disk=105,812MB) [orientechnologies]
2015-02-03 11:18:03:160 INFO  Loading configuration from: /usr/local/Cellar/orientdb/2.0.1/libexec/config/orientdb-server-config.xml... [OServerConfigurationLoaderXml]
2015-02-03 11:18:03:398 INFO  OrientDB Server v2.0.1 (build UNKNOWN@r; 2015-01-28 18:33:00+0000) is starting up... [OServer]
2015-02-03 11:18:03:432 INFO  Databases directory: /usr/local/Cellar/orientdb/2.0.1/libexec/databases [OServer]
2015-02-03 11:18:03:487 INFO  Listening binary connections on 0.0.0.0:2424 (protocol v.28, socket=default) [OServerNetworkListener]
2015-02-03 11:18:03:489 INFO  Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
2015-02-03 11:18:03:509 INFO  Installing dynamic plugin 'orientdb-lucene-2.0-dist.jar'... [OServerPluginManager]
2015-02-03 11:18:03:661 INFO  Lucene index plugin installed and active. Lucene version: LUCENE_47 [OLuceneIndexPlugin]
2015-02-03 11:18:03:663 INFO  Installing dynamic plugin 'studio-2.0.zip'... [OServerPluginManager]
2015-02-03 11:18:03:692 INFO  Installing GREMLIN language v.2.6.0 - graph.pool.max=50 [OGraphServerHandler]
2015-02-03 11:18:03:693 INFO  [OVariableParser.resolveVariables] Error on resolving property: distributed [orientechnologies]
2015-02-03 11:18:03:694 INFO  Installing Script interpreter. WARN: authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql] [OServerSideScriptInterpreter]
2015-02-03 11:18:03:695 INFO  OrientDB Server v2.0.1 is active. [OServer]%                                                               14:03 log master ❯ cat orientdb.err

2015-02-03 11:18:03:155 INFO  OrientDB auto-config DISKCACHE=13,880MB (heap=455MB os=16,384MB disk=105,812MB) [orientechnologies]
2015-02-03 11:18:03:160 INFO  Loading configuration from: /usr/local/Cellar/orientdb/2.0.1/libexec/config/orientdb-server-config.xml... [OServerConfigurationLoaderXml]
2015-02-03 11:18:03:397 INFO  OrientDB Server v2.0.1 (build UNKNOWN@r; 2015-01-28 18:33:00+0000) is starting up... [OServer]
2015-02-03 11:18:03:432 INFO  Databases directory: /usr/local/Cellar/orientdb/2.0.1/libexec/databases [OServer]
2015-02-03 11:18:03:487 INFO  Listening binary connections on 0.0.0.0:2424 (protocol v.28, socket=default) [OServerNetworkListener]
2015-02-03 11:18:03:488 INFO  Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
2015-02-03 11:18:03:509 INFO  Installing dynamic plugin 'orientdb-lucene-2.0-dist.jar'... [OServerPluginManager]
2015-02-03 11:18:03:660 INFO  Lucene index plugin installed and active. Lucene version: LUCENE_47 [OLuceneIndexPlugin]
2015-02-03 11:18:03:663 INFO  Installing dynamic plugin 'studio-2.0.zip'... [OServerPluginManager]
2015-02-03 11:18:03:692 INFO  Installing GREMLIN language v.2.6.0 - graph.pool.max=50 [OGraphServerHandler]
2015-02-03 11:18:03:692 INFO  [OVariableParser.resolveVariables] Error on resolving property: distributed [orientechnologies]
2015-02-03 11:18:03:694 INFO  Installing Script interpreter. WARN: authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql] [OServerSideScriptInterpreter]
2015-02-03 11:18:03:694 INFO  OrientDB Server v2.0.1 is active. [OServer]Exception in thread "Timer-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.concurrent.ConcurrentHashMap$EntrySetView.iterator(ConcurrentHashMap.java:4746)
    at com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugins(OServerPluginManager.java:277)

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Timer-0"
java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOfRange(Arrays.java:3664)
    at java.lang.String.<init>(String.java:201)
    at java.lang.StringBuilder.toString(StringBuilder.java:407)
    at java.io.ObjectStreamField.getClassSignature(ObjectStreamField.java:322)
    at java.io.ObjectStreamField.<init>(ObjectStreamField.java:140)
    at java.io.ObjectStreamClass.matchFields(ObjectStreamClass.java:2259)
    at java.io.ObjectStreamClass.getReflector(ObjectStreamClass.java:2149)
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:517)
    at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:464)
    at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:464)Exception in thread "OrientDB <- BinaryClient (/127.0.0.1:54626)" java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded

a test class in scala:
package model.orientdb

import com.orientechnologies.orient.core.intent.OIntentMassiveInsert
import com.orientechnologies.orient.core.sql.OCommandSQL
import com.tinkerpop.blueprints.impls.orient.{OrientVertex, OrientGraphFactory, OrientGraph}
import org.scalatest._
import de.softamrhein.Logger

class OrientDBGraphAPISpec extends FlatSpecLike
  with BeforeAndAfter
  with BeforeAndAfterAll
  with Matchers
  with Logger
{

  var factory: OrientGraphFactory = null
  var graph: OrientGraph = null

  override def beforeAll() = {
    factory = new OrientGraphFactory("remote:localhost/test")
  }

  override def afterAll() = {
    factory.close()
  }

  before {
    graph = factory.getTx
    graph.getRawGraph.declareIntent( new OIntentMassiveInsert() );
  }

  after {
    graph.commit()
    graph.shutdown()
  }

  "Graph" can "remove everything" in {

    graph.command(new OCommandSQL("delete Vertex Structure")).execute()
    graph.command(new OCommandSQL("delete Vertex StructureNode")).execute()

    graph.command(new OCommandSQL("delete Edge childNode")).execute()
    graph.command(new OCommandSQL("delete Edge rootNode")).execute()

    assert(true)
  }

  def createStructure(ident: String, nodePrefix: String, levelCount: Int, nodesPerLevel: Int) = {

    val structureVertex = graph.addVertex("class:Structure", "ident", ident)

    def loop (currentLevel: Int, parentVertex: OrientVertex, edgeClass: String): Unit = {

      if (currentLevel < levelCount) {

        (1 to nodesPerLevel).foreach { idx =>

          val nodeVertex = graph.addVertex("class:StructureNode", "ident", nodePrefix + '-' + currentLevel + '-' + idx)
          parentVertex.addEdge(edgeClass, nodeVertex, edgeClass)

          loop(currentLevel + 1, nodeVertex, "childNode")
        }

      }

    }

    loop(0, structureVertex, "rootNode")
  }

  it can "create small 1-level structure" in {
    createStructure("structure-1-level", "Node1l", 1, 10)
  }

  it can "create 2-level structure" in {
    createStructure("structure-2-level", "Node2l", 2, 10)
  }

  it can "create 3-level structure" in {
    createStructure("structure-3-level", "Node3l", 3, 10)
  }

  it can "create 4-level structure" in {
    createStructure("structure-4-level", "Node4l", 4, 10)
  }

  it can "create 5-level structure" in {
    createStructure("structure-5-level", "Node5l", 5, 10)
  }

  it can "create 6-level structure" in {
    createStructure("structure-6-level", "Node6l", 6, 10)
  }
}

There's a thread on working around this issue here: http://stackoverflow.com/questions/5839359/java-lang-outofmemoryerror-gc-overhead-limit-exceeded
I recommend trying with the GC limit turned off first, then trying one of the other options.

I don't know Scala, but FWIW in Java we've had up the heap memory in the orient server (and turn down the off-heap cache memory accordingly) to support multi-threaded clients writing to the database.

I am getting the same error in my inserts too. I am using OrientDB 2.0.1. Our application uses embedded server and access data through java API.
Thanks,
Jing

more infos after some recharge:

database "remote:..." - no one of java setting helps. if I use -Xmx8g then it runs without any GC-Errors, but the tests wasn't also finished after 2 hours

database "plocal:..."

first run (= fresh/empty database):

ca 6500 records per second. its ok. not 150.000 -) records per second. but its ok.
* second run (= at first delete the records from the first run):

after 20 minutes :

its create a large file and breaks because of insufficient free space.
ok, I have only 110 GB free in the test drive. but I don't think it is a right behavior

if it helps, I can create an java-test-project or upload my scala-test-project to github ...

Hi,
I suppose you insert 10^6 Nodes in single transaction, do not you ?
On Wed, Feb 4, 2015 at 4:31 PM, Alexander Ray notifications@github.com
wrote:

if it helps, I can create an java-test-project or upload my
scala-test-project to github ...
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-72863125
.

--
Best regards,
Andrey Lomakin.

yes.

That is reason of huge wal file.
We need to log whole tx operation as single unit.
That is reason of OOM too.
Could you split your tx in few smaller txs.
On Wed, Feb 4, 2015 at 4:54 PM, Alexander Ray notifications@github.com
wrote:

yes.
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-72867713
.

--
Best regards,
Andrey Lomakin.

the huge wal file was created only on the second run. after the Vertexes und Edges was deleted and the transaction was commited
  before {
    graph = factory.getTx
    graph.getRawGraph.declareIntent( new OIntentMassiveInsert() );
  }

  after {
    graph.commit()
    graph.shutdown()
  }

  "Graph" can "remove everything" in {
    graph.command(new OCommandSQL("delete Vertex Structure")).execute()
    graph.command(new OCommandSQL("delete Vertex StructureNode")).execute()
    graph.command(new OCommandSQL("delete Edge childNode")).execute()
    graph.command(new OCommandSQL("delete Edge rootNode")).execute()
    assert(true)
  }

It is created when tx is commited, but before this all data is collected in
heap.
On Wed, Feb 4, 2015 at 5:07 PM, Alexander Ray notifications@github.com
wrote:

the huge wal file was created only on the second run. after the Vertexes
und Edges was deleted and the transaction was commited
before {
graph = factory.getTx
graph.getRawGraph.declareIntent( new OIntentMassiveInsert() );
}
after {
graph.commit()
graph.shutdown()
}
"Graph" can "remove everything" in {
graph.command(new OCommandSQL("delete Vertex Structure")).execute()
graph.command(new OCommandSQL("delete Vertex StructureNode")).execute()
graph.command(new OCommandSQL("delete Edge childNode")).execute()
graph.command(new OCommandSQL("delete Edge rootNode")).execute()
assert(true)
}
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-72870669
.

--
Best regards,
Andrey Lomakin.

i see, it was created in the test "create 6-level structure" during commit.

only on the second run (the database was logically in the same state as in the first run)
what for need the database engine that huge (>100GB) wal file by commitment only about 1.000.000 simple records?

ok. I see your point. therefore the question:
what are the transaction limits, so that orientdb-engine can handle the commitment properly?

Hi Alexander,
I think in 2.1 we will implement early OOM detection mechanics, if we have
risk of OOM we will rollback tx will suggest to decrease amount of
operations and repeat tx, it will allow to avoid puzzled OOM errors.
On Wed, Feb 4, 2015 at 5:40 PM, Alexander Ray notifications@github.com
wrote:

ok. I see your point. therefore the question:
what are the transaction limits, so that orientdb-engine can handle the
commitment properly?
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-72876952
.

--
Best regards,
Andrey Lomakin.

ok.

what are the guidelines for using transactions?
some tests result without transaction (graph = factory.getNoTx)

first run

it is slower as with Tx ca. 7200 records per second
second run

more slower as the first run
creates about 700 wal files, each ca 150 MB
and BREAKS BECAUSE OG INSUFFICIENT FREE SPACE

Can you share the piece of code that write to the database? Are you
executing SQL statements to create vertices and edges?
Lvc@
On 5 February 2015 at 09:43, Alexander Ray notifications@github.com wrote:

ok.

what are the guidelines for using transactions?
some tests result without transaction (graph = factory.getNoTx)
first run [image: wotx - 1 run]
https://cloud.githubusercontent.com/assets/786006/6057120/a72fa4ea-ad1a-11e4-988a-2455c0e1cf6b.png
it is slower as with Tx ca. 7200 records per second
second run [image: screen shot 2015-02-05 at 09 35 06]
https://cloud.githubusercontent.com/assets/786006/6057138/d7a74466-ad1a-11e4-9033-718e0c46b4c6.png [image:
screen shot 2015-02-05 at 09 34 40]
https://cloud.githubusercontent.com/assets/786006/6057140/dab65c28-ad1a-11e4-97aa-5db76c2e304c.png

more slower as the first run
creates about 700 wal files, each ca 150 MB
and BREAKS BECAUSE OG INSUFFICIENT FREE SPACE

—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-73012354
.

/**
 * User: Alexander Ray
 */

package model.orientdb

import com.orientechnologies.orient.core.intent.OIntentMassiveInsert
import com.orientechnologies.orient.core.sql.OCommandSQL
import com.tinkerpop.blueprints.impls.orient.{OrientBaseGraph, OrientVertex, OrientGraphFactory, OrientGraph}
import org.scalatest._
import de.softamrhein.Logger
import scalax.file.Path

class OrientDBGraphAPISpec extends FlatSpecLike
  with BeforeAndAfter
  with BeforeAndAfterAll
  with Matchers
  with Logger
{

  var factory: OrientGraphFactory = null
  var graph: OrientBaseGraph = null
  val dbPath = "/Users/alexanderray/Develop/orientdb/databases/test"

  val createNewDatabase = false
  val localDatabase = true
  val useTx = false

  def createTestClasses() = {
    val g = factory.getNoTx

    g.command(new OCommandSQL("create class Structure extends V")).execute()
    g.command(new OCommandSQL("create class StructureNode extends V")).execute()
    g.command(new OCommandSQL("create property StructureNode.ident STRING")).execute()

    g.command(new OCommandSQL("create class rootNode extends E")).execute()
    g.command(new OCommandSQL("create class childNode extends E")).execute()

    g.shutdown()
  }

  override def beforeAll() = {
    if (createNewDatabase && localDatabase) {
      val path: Path = Path.fromString (dbPath)
      path.deleteRecursively(continueOnFailure = false)
    }

    factory = new OrientGraphFactory(if (localDatabase) "plocal:/" + dbPath else "remote:localhost/test")

    if (createNewDatabase && localDatabase) createTestClasses()
  }

  override def afterAll() = {
    factory.close()
  }

  before {
    graph = if (useTx) factory.getTx else factory.getNoTx
    graph.getRawGraph.declareIntent( new OIntentMassiveInsert() );
  }

  after {
    graph.shutdown()
  }

  "Graph" can "remove everything" in {

    graph.command(new OCommandSQL("delete Vertex Structure")).execute()
    graph.command(new OCommandSQL("delete Vertex StructureNode")).execute()

    graph.command(new OCommandSQL("delete Edge childNode")).execute()
    graph.command(new OCommandSQL("delete Edge rootNode")).execute()

    assert(true)
  }

  def createStructure(ident: String, nodePrefix: String, levelCount: Int, nodesPerLevel: Int) = {

    val structureVertex = graph.addVertex("class:Structure", "ident", ident)

    def loop (currentLevel: Int, parentVertex: OrientVertex, edgeClass: String): Unit = {

      if (currentLevel < levelCount) {

        (1 to nodesPerLevel).foreach { idx =>

          val nodeVertex = graph.addVertex("class:StructureNode", "ident", nodePrefix + '-' + currentLevel + '-' + idx)
          parentVertex.addEdge(edgeClass, nodeVertex, edgeClass)

          loop(currentLevel + 1, nodeVertex, "childNode")
        }

      }

    }

    loop(0, structureVertex, "rootNode")

    if (useTx) graph.commit()
  }

  it can "create small 1-level structure" in {
    createStructure("structure-1-level", "Node1l", 1, 10)
  }

  it can "create 2-level structure" in {
    createStructure("structure-2-level", "Node2l", 2, 10)
  }

  it can "create 3-level structure" in {
    createStructure("structure-3-level", "Node3l", 3, 10)
  }

  it can "create 4-level structure" in {
    createStructure("structure-4-level", "Node4l", 4, 10)
  }

  it can "create 5-level structure" in {
    createStructure("structure-5-level", "Node5l", 5, 10)
  }

  it can "create 6-level structure" in {
    createStructure("structure-6-level", "Node6l", 6, 10)
  }
}

Ok, seems in your loop you have too many objects in transactions (that is RAM consuming). Try rather to put this inside the loop:
if( useTx && currentLevel % 500 == 0 )
  graph.commit()

In this way you commit every 500 items.

transactions in the last test are disabled (val useTx = false)

what is the difference between small transactions and no transactions?  after first small transaction database is in a "dirty-inconsistent-state". and I can't properly rollback anymore in case on some failure ...

test with small - 500 items
new code

def createStructure(ident: String, nodePrefix: String, levelCount: Int, nodesPerLevel: Int) = {

    val structureVertex = graph.addVertex("class:Structure", "ident", ident)
    var cnt = 0

    def loop (currentLevel: Int, parentVertex: OrientVertex, edgeClass: String): Unit = {

      if (currentLevel < levelCount) {

        (1 to nodesPerLevel).foreach { idx =>

          val nodeVertex = graph.addVertex("class:StructureNode", "ident", nodePrefix + '-' + currentLevel + '-' + idx)
          parentVertex.addEdge(edgeClass, nodeVertex, edgeClass)

          cnt += 1

          if( useTx && cnt % 500 == 0 )
            graph.commit()

          loop(currentLevel + 1, nodeVertex, "childNode")
        }

      }

    }

    loop(0, structureVertex, "rootNode")

    if (useTx) graph.commit()
  }

first run
![screen shot 2015-02-05 at 18 44 41]
(https://cloud.githubusercontent.com/assets/786006/6066120/e3399c8e-ad6a-11e4-86f1-d9a3b602a0e6.png)

second run

same behavior as before

creates 600 wal files for 100 GB
breakes because of low disc space

It is already fixed in 2.0.2 could you try it ?
On Thu, Feb 5, 2015 at 8:14 PM, Alexander Ray notifications@github.com
wrote:

test with small - 500 items
new code
def createStructure(ident: String, nodePrefix: String, levelCount: Int, nodesPerLevel: Int) = {
val structureVertex = graph.addVertex("class:Structure", "ident", ident)
var cnt = 0

def loop (currentLevel: Int, parentVertex: OrientVertex, edgeClass: String): Unit = {

  if (currentLevel < levelCount) {

    (1 to nodesPerLevel).foreach { idx =>

      val nodeVertex = graph.addVertex("class:StructureNode", "ident", nodePrefix + '-' + currentLevel + '-' + idx)
      parentVertex.addEdge(edgeClass, nodeVertex, edgeClass)

      cnt += 1

      if( useTx && cnt % 500 == 0 )
        graph.commit()

      loop(currentLevel + 1, nodeVertex, "childNode")
    }

  }

}

loop(0, structureVertex, "rootNode")

if (useTx) graph.commit()

}

first run
[image: screen shot 2015-02-05 at 18 44 41]
https://cloud.githubusercontent.com/assets/786006/6066120/e3399c8e-ad6a-11e4-86f1-d9a3b602a0e6.png
second run
[image: screen shot 2015-02-05 at 19 10 15]
https://cloud.githubusercontent.com/assets/786006/6066123/ef5d7b5c-ad6a-11e4-9df9-4aa76c893746.png
same behavior as before

creates 600 wal files for 100 GB
breakes because of low disc space

—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-73096709
.

--
Best regards,
Andrey Lomakin.

This is the URL of last 2.0.2-SNAPSHOT: https://oss.sonatype.org/content/repositories/snapshots/com/orientechnologies/orientdb-community/2.0.2-SNAPSHOT/orientdb-community-2.0.2-20150205.232920-6-distribution.tar.gz

without TX - same behavior as before

with small (500 records) Tx - same behavior as before

may be the test-project is linked with wrong libraries, how can I log the current library version at runtime?

with one big Tx - same behavior as before

Alexander did you try on 2.0.2 snapshot ?

It should be INFO  OrientDB Server v2.0.2 is active. Did you see such message ?

You may try to download distribution from there https://www.dropbox.com/s/c7l62cd7fgdshy7/orientdb-community-2.0.2-SNAPSHOT-distribution.zip?dl=0

yes. I have tried it with both snapshots version above and copied the lib folder to my project ...
if I use "plocal" database, then it runs with out any active orientdb server, just linked jars ...
inside of IntelliJ the right libraries are linked to project,
but, may be, at runtime sbt (scala build tool) links something wrong. how can I log at runtime the library versions?

so, I have created a war file, it contains right (2.0.2-snapshot) libraries  ..

ok. if test will fail again I will try to repeat the same on my side.

it is. I have tested it with the snapshot from dropbox. same results ... on a second run test 6 fails because of many/huge wal files

no way, ok I will try it locally

I ran several times and had only one wal file after test ends.

ok, should I upload my test-project? or can you upload yours?

few seconds I have found reason

Could you try now same link to distribution.

which one?

https://www.dropbox.com/s/c7l62cd7fgdshy7/orientdb-community-2.0.2-SNAPSHOT-distribution.zip?dl=0

also, it creates many wal files as before ... in test 5. for commit in about 100.000 records, orientdb creates wal files 60 wal files each ca 150MB, also about 10GB of wal files for commitment of 100.000 records. why?
test 6 runs, for now 219 wal files ...

also, nothing changes

I repeated your test and all work, it means that you use old distribution. Is it possible for you to build from sources ? branch hotfix-2.0.2

Guys, I can force upload on maven if needed.

I use that one:

ehh .. ok, i'll try it ...

it fails' don't know why ..

I have created a java-test project.
you can upload it here:
https://www.dropbox.com/s/v6c8ymb5n87vxk8/test-n-level-tree.zip?dl=0

It seems you never recreated database, just replaced jar.  Did you ?

And you missed linkedhashmap dependency, you can find it in distribution.

concurrentlinkedhashmap-lru-1.4.1.jar

the build from the sources fails. but I don't need it), also it ok
the database is always created on the first run

yes, you see it is running and truncated automatically http://screencloud.net/v/22t1

wal files from 18 to 22

hm now it is running huge, but I suppose I will find issue in test ))

ok, you can also reproduce it?

yes

super-)

and seems found a bug. ))
Lets wait 30 min, I will run 2 times.

Just for next time. If you need to remove all data, do not do "delete all" action.  Do truncate otherwise insertions will be slow.

truncate?

truncate class ... command

ok, I see, thanks)

Could you try now ? https://www.dropbox.com/s/c7l62cd7fgdshy7/orientdb-community-2.0.2-SNAPSHOT-distribution.zip?dl=0

Hi, now it works, but, as you say, after delete, its very slow. it is possible to restructure the database, so I can insert records at the same speed as before delete (for my purposes, I need sometimes to delete 80-90 percent from class records)?

how can I speed up my inserts. You say it is possible to make till to 200.000 inserts per second on common hardware. I have I7, ssd, 16GB ram, but the maximum speed is about 11.000 records per second ... can you upload some benchmark test with 200.000 inserts per second, so I can test it on my hardware?

Alexander,
Do not do delete all use truncate, and it will not be slow.
On Sun, Feb 8, 2015 at 10:26 PM, Alexander Ray notifications@github.com
wrote:

how can I speed up my inserts. You say it is possible to make till to
200.000 inserts per second on common hardware. I have I7, ssd, 16GB ram,
but the maximum speed is about 11.000 records per second ... can you upload
some benchmark test with 200.000 inserts per second, so I can test it on my
hardware?
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-73429701
.

--
Best regards,
Andrey Lomakin.

I see,

but what can I do, if I need to delete not all of the records, but only 80 or 90 percent of them? should I use "truncate record".
is it possible to restructure the database after "massive delete"? may be with backup/restore?
what is about a "speed-insert" example?

Hi

We are developing new cluster design to overcome this issue, I think
it will take about 1.5 month to release it.
You can do it by export/import.
Sorry did not get it.

On Mon, Feb 9, 2015 at 12:39 PM, Alexander Ray notifications@github.com
wrote:

I see,

but what can I do, if I need to delete not all of the records, but only
80 or 90 percent of them? should I use "truncate record".
is it possible to restructure the database after "massive delete"? may
be with backup/restore?
what is about a "speed-insert" example?

—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3517#issuecomment-73488165
.

--
Best regards,
Andrey Lomakin.

Alexander,
you could create multiple clusters and just drop the clusters the contain the data you want to drop. This would be super fast and efficient. What kind of data do you have? How you filter the 80/90% of data you delete?

Thanks, it is a good idea to use multiple clusters for storing data and to drop it by cluster. I will try it so.

You write that orientdb can store till to 220.000 records on common hardware. What type of records? which API? Have you an example what achieve that insert speed on yours hardware?

220k as massive insertion in multi-threads, no wal, no index and Document API with documents with 6 fields.

plocal or remote?

plocal.

thanks for your advise)

just for info, here are my multithread test results:

Hi,
The OOM error does not seem to be fixed yet. I am using 2.2-alpha. Can you please point me to the JIRA for this issue
Regards
Sarit

Try getting last snapshot: https://oss.sonatype.org/content/repositories/snapshots/com/orientechnologies/orientdb-community/2.2.0-SNAPSHOT/

Hi @lvca .... I am getting this error when inserting records in multiple threads. I am using version 2.2.21.
505 HTTP Version Not Supported: {
  "errors": [
    {
      "code": 505,
      "reason": 505,
      "content": "java.lang.OutOfMemoryError: GC overhead limit exceeded"
    }
  ]
}

Is the issue fixed? Any ideas how can I get this resolved.

@nishantkumar1292 OOM is to general issue and may be caused by many factors do you have heap dump generated by OOM in server directory?

@laa I have no idea about the heap dump. Where can I find the heap dump?

@nishantkumar1292 how many cores do you have? Yes, that is possible that all memory was consumed by the handling of temporary data generated during query processing? Do you use command cache? Could you switch it off? About heap dump, it should be in server or bin directory and have .hprof extension.

I have 8 cores and they are all being used at around 98-99%.
Yes...found the heap dump file.
No not using command cache. Below is the command.cache.json file.
{
  "enabled": false,
  "evictStrategy": "INVALIDATE_ALL",
  "minExecutionTime": 10,
  "maxResultsetSize": 500
}

@nishantkumar1292 1500 threads too much for 8 cores you will have a lot of context switches and as result bigger memory consumption and worse performance, in reality, big CPU usage does not mean better performance. Amount of threads is up to you of course, could you send me this file I will check it but I am on 99% sure that is caused by big memory consumption of queries

Yes you are right..... decreasing the number of threads improved the performance and also eliminated Request Timeout.
What is the maximum number of threads I can work with. Each thread does some CREATE, READ and UPDATE operations.

@nishantkumar1292 it is hard to say, but my preference is not more than 10 for a single core. ok, let say 20. so in our case, it should be 160 but not 1500 it is an enormous number. You can limit the number of threads by handling user requests in the thread pool.

What do you mean by handling user requests in thread pool?

I do not know how your architecture I just proposed that you accept HTTP request, for example, parse them and execute a command. So commands may be executed in a separate thread pool.

Was running scripts on 100 parallel threads.
Error on client connection
java.lang.OutOfMemoryError: GC overhead limit exceeded
$ANSI{green {db=db_development}} Exception `3AD12824` in storage `db_development`
java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "OrientDB ONetworkProtocolHttpDb listen at 0.0.0.0:2480-2490" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "OrientDB Write Cache Flush Task (db_development)"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "OrientDB Write Cache Flush Task (db_development)"

How can I resolve this?

Hi @laa ...any updates or resolution for the above issue?

authors: 8forty AlexanderRay jingjingbic laa lvca nishantkumar1292 rtc-draper saritseal


text:
Exception: java.lang.IllegalArgumentException (OrientDB 2.1-rc4)

Yourkit reports an java.lang.IllegalArgumentException occurred internally. I am unsure whether this is a bug or not, but it seems to be a hard error.
+------------------------------------------------------------------------------------------------------------------------+------------+
|                                                   Reverse Call Tree                                                    |   Count    |
+------------------------------------------------------------------------------------------------------------------------+------------+
|  +---sun.misc.Signal.<init>(String) Signal.java:143                                                                    |  1  100 %  |
|    |                                                                                |            |
|    +---com.orientechnologies.orient.core.OSignalHandler.listenTo(String, SignalHandler) OSignalHandler.java:39         |            |
|      |                                                                                |            |
|      +---com.orientechnologies.orient.core.OSignalHandler.installDefaultSignals(SignalHandler) OSignalHandler.java:88  |            |
|        |                                                                                |            |
|        +---com.orientechnologies.orient.core.OSignalHandler.installDefaultSignals() OSignalHandler.java:70             |            |
|          |                                                                                |            |
|          +---com.orientechnologies.orient.core.Orient.startup() Orient.java:203                                        |            |
+------------------------------------------------------------------------------------------------------------------------+------------+

@jamieb22 which version of OrientDB?
How can i replicate this?

No idea how to replicate. These are errors received on a production server. The version is OrientDB 2.1-rc4

Such error was in log ?


text:
Using a Set in distributed mode causes a "Cannot Route Command" exception

In distributed mode, executing a query using a set, such as this:
SELECT name, set(roles.name) AS roles FROM OUser where name = 'user'
Causes this error:
com.orientechnologies.orient.core.exception.OStorageException: Cannot route COMMAND operation to the distributed node  --> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Possibly caused by OEmbeddedRidBag::doDeserialization, the rid being calculated in from OLinkSerializer.INSTANCE.deserialize (within ObinaryProtocol) calculates an invalid offset of -2.

We're also seeing this issue... it's a big pain point because doing traversals on a huge graph kind of relies on being able to get rid of duplicates to avoid a combinatorial explosion

authors: SDIPro mriehl


text:
Orientdb driver

Is there plan for implementing official driver for golang?
https://github.com/istreamdata/orientgo seems dead.
Thanks

Reviving this thread because this seems to be a big concern now.
Most of the API Drivers(mainly ones in Python and Golang) are now not maintained.
Even connecting to OrientDB 3.x is now not possible.
This becomes a blocker while using Orient in most stacks as most of the features aren't available in bare HTTP API.
Is any plan for implementing official API driver for few more languages?

Hi @tarunwadhwa13, could you be more specific, what is absent in HTTP API as for now? Your feedback would be helpful in improving it.

Hi @laa , please don't take me wrong. The HTTP API provides much more options and flexibility more than what one can expect. But features like TRAVERSE, LIVE QUERY, single query transaction control or multi-threading becomes more like devolepers' ownership (which isn't bad but can lead to errors when multiple dev are working on a system)
Having a library not only provides stronger cohesion with code base but also ensures security measures and limits are implemented across