Author Archives: Robins

NPM publish an angular library Error [How to Solve]

Error Messages:

ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.
Please delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.


This is because I was previously building my Angular library in development mode: the

Replace with the following production model.

ng build my-lib –configuration production

After that the error disappears.

How to Solve Vue route jump repeated clicks Error

The following error message appears
Solution:
Set the index.js under router as follows, and the problem is solved


The code is as follows.
// Repeated click on the route reports an error
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
const originalReplace = VueRouter.prototype.replace
VueRouter.prototype.replace = function replace (location) {
return originalReplace.call(this, location).catch(err => err)
}

Eslint error “no undef” and eslint rule configuration in Vue cli3

1. The no undef error occurs because there cannot be undefined variables in the syntax detection of eslint. Add them to the rules {} of. Eslintrc.js in the root directory   ‘ no-undef’: 0

Then restart the editor.

2. Rule configuration of eslint

In. Eslintrc.js, the rules of rules are as follows:

rules: {
    "RuleName": [RuleValue, RuleConfig]
}
Rule value:
"off" or 0 // turn off detection rules
"warn" or 1 // turn on and treat the open detection rule as a warning (does not affect the exit code)
"error" or 2 // turn on and treat the detection rule as an error (1 when the exit code is triggered)

The eslint rules are as follows:

"no-alert": 0,//prohibit the use of alert confirm prompt
"no-array-constructor": 2,//prohibit the use of array constructors
"no-bitwise": 0,//prohibit the use of bitwise operators
"no-caller": 1,//prohibit the use of arguments.caller or arguments.callee
"no-catch-shadow": 2,//prohibit the use of catch clause arguments with the same name as external scope variables
"no-class-assign": 2,//forbid to assign a value to a class
"no-cond-assign": 2,//prohibit the use of assignment statements in conditional expressions
"no-console": 2,//Disable the use of consoles
"no-const-assign": 2,//forbid to modify variables declared by const
"no-constant-condition": 2,//prohibit the use of constant expressions in conditions if(true) if(1)
"no-continue": 0,//prohibit the use of continue
"no-control-regex": 2,//prohibit the use of control characters in regular expressions
"no-debugger": 2,//Debugger is forbidden
"no-delete-var": 2,//do not use the delete operator for variables declared by var
"no-div-regex": 1,//can't use regular expressions that look like division /=foo/
"no-dupe-keys": 2,// do not allow duplicate keys when creating object literals {a:1,a:1}
"no-dupe-args": 2,// function arguments cannot be duplicated
"no-duplicate-case": 2,//Switch case tags cannot be duplicated
"no-else-return": 2,//If there is a return in the if statement, it can't be followed by an else statement
"no-empty": 2,//Block statement can not be empty
"no-empty-character-class": 2,//the content of [] in a regular expression cannot be empty
"no-empty-label": 2,//prohibit the use of empty labels
"no-eq-null": 2,//Disable the use of == or ! = operator
"no-eval": 1,//forbid the use of eval
"no-ex-assign": 2,//forbid to assign values to exception parameters in catch statements
"no-extend-native": 2,//prohibit extending native objects
"no-extra-bind": 2,//Disable unnecessary function binding
"no-extra-boolean-cast": 2,//Disable unnecessary bool conversions
"no-extra-parens": 2,//prohibit unnecessary parentheses
"no-extra-semi": 2,//prohibit superfluous colons
"no-fallthrough": 1,//prohibit switch pass-through
"no-floating-decimal": 2,//Disable omitting 0 .5 in floating point numbers 3.
"no-func-assign": 2,//Disable duplicate function declarations
"no-implicit-coercion": 1,//prohibit implicit conversions
"no-implied-eval": 2,//prohibit the use of implicit eval
"no-inline-comments": 0,//prohibit inline comments
"no-inline-declarations": [2, "functions"],//prohibit the use of declarations (variables or functions) in block statements
"no-invalid-regexp": 2,//Disable invalid regular expressions
"no-invalid-this": 2,//prohibit invalid this, only for constructors, classes, object literals
"no-irregular-whitespace": 2,//no irregular spaces
"no-iterator": 2,//prohibit the use of __iterator__ attribute
"no-label-var": 2,// the name of a label cannot be the same as the name of a variable declared by var
"no-labels": 2,//prohibit label declarations
"no-lone-blocks": 2,//Disable unnecessary nested blocks
"no-lonely-if": 2,//prohibit only if statements inside an else statement
"no-loop-func": 1,//prohibit the use of functions in loops (if they do not refer to external variables and do not form closures)
"no-mixed-requires": [0, false],//No mixed declaration types when declaring
"no-mixed-spaces-and-tabs": [2, false],//prohibit mixing tabs and spaces
"linebreak-style": [0, "windows"],//line break style
"no-multi-spaces": 1,//no extra spaces
"no-multi-str": 2,//Strings can't use \ newlines
"no-multiple-empty-lines": [1, {"max": 2}],//no more than 2 empty lines
"no-native-reassign": 2,//no native objects can be rewritten
"no-negated-in-lhs": 2,// the left side of the in operator cannot have !
"no-nested-ternary": 0,//Nested trinomials are forbidden
"no-new": 1,//forbid to construct an instance using new without assigning a value
"no-new-func": 1,//Disable the use of new Function
"no-new-object": 2,//Disable the use of new Object()
"no-new-require": 2,//prohibit the use of new require
"no-new-wrappers": 2,//prohibit the use of new to create wrapper instances, new String new Boolean new Number
"no-obj-calls": 2,//can't call built-in global objects, such as Math() JSON()
"no-octal": 2,//forbid the use of octal numbers
"no-octal-escape": 2,//forbid the use of octal escape sequences
"no-param-reassign": 2,//Disable reassigning parameters
"no-path-concat": 0,//do not use __dirname or __filename for path concatenation in node
"no-plusplus": 0,//Prohibit the use of ++, --
"no-process-env": 0,//prohibit the use of process.env
"no-process-exit": 0,//prohibit the use of process.exit()
"no-proto": 2,//prohibit the use of __proto__ attribute
"no-redeclare": 2,//prohibit repeated declaration of variables
"no-regex-spaces": 2,//prohibit the use of multiple spaces in regular expression literals /foo bar/
"no-restricted-modules": 0,//If the specified module is disabled, an error will be reported if it is used
"no-return-assign": 1,//return statements cannot have assignment expressions in them
"no-script-url": 0,//prohibit the use of javascript:void(0)
"no-self-compare": 2,//can't compare itself
"no-sequences": 0,//forbid the use of comma operators
"no-shadow": 2,//Variables in external scopes cannot have the same name as variables or arguments in the scope they are contained in
"no-shadow-restricted-names": 2,//restricted identifiers specified in strict mode cannot be used as variable names at declaration time
"no-spaced-func": 2,//Function call with no spaces between function name and ()
"no-sparse-arrays": 2,//Sparse arrays are forbidden, [1,,2]
"no-sync": 0,//nodejs disables sync methods
"no-ternary": 0,//prohibit the trinomial operator
"no-tiling-spaces": 1,//don't have spaces after the end of a line
"no-this-before-super": 0,//no use of this or super before calling super()
"no-throw-literal": 2,//Disable throwing literal errors throw "error";
"no-undef": 1,//no undefined variables
"no-undef-init": 2,//variables can't be assigned to undefined when initialized
"no-undefined": 2,//can't use undefined
"no-unexpected-multiline": 2,//Avoid multi-line expressions
"no-underscore-dangle": 1,//Identifiers cannot start or end with _
"no-unneeded-ternary": 2,//prohibit unnecessary nesting var isYes = answer === 1 ?true : false;
"no-unreachable": 2,//no unexecutable code
"no-unused-expressions": 2,//prohibit unused expressions
"no-unused-vars": [2, {"vars": "all", "args": "after-used"}],//no variables or arguments that are declared and not used
"no-use-before-define": 2,//no-use-before-define
"no-useless-call": 2,//prohibit unnecessary calls and applies
"no-void": 2,//Disable void operator
"no-var": 0,//disable var and replace it with let and const
"no-warning-comments": [1, { "terms": ["todo", "fixme", "xxx"], "location": "start" }],//can't have warning comments
"no-with": 2,//disable with

"array-bracket-spacing": [2, "never"],//Whether to allow non-empty arrays with extra spaces inside
"arrow-parens": 0,//arrow function enclosed in parentheses
"arrow-spacing": 0,//=>s pre/post brackets
"accessor-pairs": 0,//use getter/setter in objects
"block-scoped-var": 0,//use var in block statements
"brace-style": [1, "1tbs"],//brace style
"callback-return": 1,//avoid multiple calls to callbacks and stuff
"camelcase": 2,//force camelcase naming
"comma-dangle": [2, "never"],//no comma at the end of object literals
"comma-spacing": 0,//space before and after the comma
"comma-style": [2, "last"],//comma style, at the beginning or at the end of a line when a line break occurs
"complexity": [0, 11],//complexity of the loop
"computed-property-spacing": [0, "never"],//whether to allow computed key names or whatever
"consistent-return": 0,//whether to allow omission after return
"consistent-this": [2, "that"],//this alias
"constructor-super": 0,//non-derived class cannot call super, derived class must call super
"curly": [2, "all"],//must use {} in if(){}
"default-case": 2,//switch statement must have default at the end
"dot-location": 0,//the location of the object accessor, whether it is at the beginning or the end of the line when a line break occurs
"dot-notation": [0, { "allowKeywords": true }],//avoid unnecessary square brackets
"eol-last": 0,//file ends with a single newline character
"eqeqeq": 2,//must use all-equal
"func-names": 0,//Function expressions must have names
"func-style": [0, "declaration"],//function style, specifying that only function declarations/function expressions can be used
"generator-star-spacing": 0,// the space before and after the generator function*
"guard-for-in": 0,//for in loop to be filtered with if statement
"handle-callback-err": 0,//nodejs handles errors
"id-length": 0,//the length of the variable name
"indent": [2, 4],//indent style
"init-declarations": 0,//must assign initial values when declaring
"key-spacing": [0, { "beforeColon": false, "afterColon": true }],//space before and after the colon in the object literal
"lines-around-comment": 0, // before/ after line comment
"max-depth": [0, 4],// depth of nested blocks
"max-len": [0, 80, 4],//maximum length of string
"max-nested-callbacks": [0, 2],//Nesting depth of callbacks
"max-params": [0, 3],//the maximum number of parameters a function can have is 3
"max-statements": [0, 10],//the maximum number of statements within the function
"new-cap": 2,//the first line of the function name must be called in upper case using new, the first line must be called in lower case without new
"new-parens": 2,//new must be called with parentheses
"newline-after-var": 2,//whether a blank line is required after variable declaration
"object-curly-spacing": [0, "never"],//whether unnecessary spaces are allowed inside curly brackets
"object-shorthand": 0,// force object literal abbreviation syntax
"one-var": 1,//continuous declaration
"operator-assignment": [0, "always"],//assignment operator += -= or something
"operator-linebreak": [2, "after"],//whether the operator is at the end or the beginning of a line when a line break occurs
"padded-blocks": 0,//whether to have empty lines at the beginning and end of a block statement
"prefer-const": 0,//prefer-const
"prefer-spread": 0,//prefer spread
"prefer-reflect": 0,//prefer the method of reflect
"quotes": [1, "single"],//quote type `` "" ''
"quote-props":[2, "always"],// whether to force double quotes for property names in object literals
"radix": 2,//parseInt must specify the second parameter
"id-match": 0,//name detection
"require-yield": 0,//generator function must have yield
"semi": [2, "always"],//statement forced to end with a semicolon
"semi-spacing": [0, {"before": false, "after": true}],//spaces before and after the semicolon
"sort-vars": 0,//variable declaration sorting
"space-after-keywords": [0, "always"],//whether to leave a space after the keyword
"space-before-blocks": [0, "always"],//whether to have a space before blocks that do not start with a new line
"space-before-function-parents": [0, "always"],//space before parentheses for function definitions
"space-in-parents": [0, "never"],//space inside parentheses
"space-infix-ops": 0,//whether there should be spaces around the midfix operator
"space-return-throw-case": 2,//would you like a space after the return throw case
"space-unary-ops": [0, { "words": true, "nonwords": false }],//spaces before/after unary operators
"spaced-comment": 0,//comment style should have spaces or something
"strict": 2,//use strict mode
"use-isnan": 2,//forbid to use NaN when comparing, only use isNaN()
"valid-jsdoc": 0,//jsdoc rule
"valid-typeof": 2,//must use legal typeof value
"vars-on-top": 2,//var must be placed at the top of the scope
"wrap-iife": [2, "inside"],//immediately execute the parenthesis style of the function expression
"wrap-regex": 0,// regular expression literals wrapped in parentheses
"yoda": [2, "never"]//prohibit yoda conditions

[Solved] Typescript installation TS node execution error

1.First time using ts Install ts-node compile error
1.1 Installing typescript
npm install typescript -g || yarn global add typescript
1.2 Install ts-node to execute code
npm install -g ts-node

2. Install it again at this point
npm install -D tslib @types/node
3. Then execute the ts-node file name and you’re done

How to Solve Logstash error: failed to execute action

Logstash error failed to execute action

The main reason why most of them report this error is that the conf file configuration is written incorrectly

input {
    stdin {
    }
    jdbc {
      # mysql database connection
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/itripdb?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
      # mysqly username and password
      jdbc_user => "root"
      jdbc_password => ""
      # Driver configuration Here fill in your own mysql-connector-java-8.0.13.jar path
      jdbc_driver_library => "D:\soft\Elasticsearch\logstash-7.9.3\logstash-7.9.3\bin\mysql-connector-java-8.0.13.jar"
      # Driver class name
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      # Specify to display 300000 entries per page
      jdbc_page_size => "300000"
      # Execute the specified sql file
 
     # The sql statement to be executed
       statement => "SELECT * FROM itrip_hotel"
      # Set listen to the meaning of each field minute hour day month year, default all * means: updated every minute
      schedule => "* * * * * *"
      # index type
      # type => ""
    }
}
 
 
output {
 
    elasticsearch {
        #es server
        hosts => ["localhost:9200"]
        #ES index name
        index => "itrip_hotel"
        #primary key self-incrementing ID
        document_id => "%{id}"
    }
    
    #Set json format
    stdout {
        codec => json_lines
    }
}

OpenFeign Error: {“code“:1,“msg“:“JSON parse error: Illegal character ((CTRL-CHAR, code 31))

Error Messages: [{“code”:1,”msg”:”JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\\r, \\n, \\t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonPars… (401 bytes)]
Error:

2021-10-18 20:39:15.514 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] {"fileName":"9e43ef61.png","fileBase64":"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"}
2021-10-18 20:39:15.530 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] ---> END HTTP (26027-byte body)
2021-10-18 20:39:15.575 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] <--- HTTP/1.1 500 Internal Server Error (46ms)
2021-10-18 20:39:15.576 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] cache-control: no-cache, no-store, max-age=0, must-revalidate
2021-10-18 20:39:15.576 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] connection: close
2021-10-18 20:39:15.576 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] content-type: application/json
2021-10-18 20:39:15.576 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] date: Mon, 18 Oct 2021 12:39:15 GMT
2021-10-18 20:39:15.577 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] expires: 0
2021-10-18 20:39:15.577 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] pragma: no-cache
2021-10-18 20:39:15.577 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] x-content-type-options: nosniff
2021-10-18 20:39:15.577 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] x-frame-options: DENY
2021-10-18 20:39:15.577 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] x-xss-protection: 1; mode=block
2021-10-18 20:39:15.578 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] 
2021-10-18 20:39:15.578 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] {"code":1,"msg":"JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\\r, \\n, \\t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\\r, \\n, \\t) is allowed between tokens\n at [Source: (PushbackInputStream); line: 1, column: 2]","total":0,"data":null}
2021-10-18 20:39:15.578 DEBUG [jumper-ecds-rongganlin,f5c0c6b07d96fcab,f5c0c6b07d96fcab] 14180 --- [  XNIO-1 task-2] c.j.b.e.a.feign.rbac.FeignQiNiuService   : [FeignQiNiuService#fileBase64] <--- END HTTP (401-byte body)
feign.FeignException$InternalServerError: [500 Internal Server Error] during [POST] to [http://jumper-rbac/system/upload/fileBase64] [FeignQiNiuService#fileBase64(Map)]: [{"code":1,"msg":"JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\\r, \\n, \\t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonPars... (401 bytes)]
	at feign.FeignException.serverErrorStatus(FeignException.java:231)

Reference log:

code:

Interface scenario: the data transmitted by the body is relatively large. Gzip compression has been used.

Error analysis reason: the message content is large, and some of them have not been transmitted in the past. Therefore, JSON parsing reports an error.

Openfeign uses the httpurlconnection provided by JDK by default. We know that httpurlconnection has no connection pool and its performance and efficiency are relatively low. If the default is adopted, it is likely to encounter performance problems and lead to system failure.

Solution:

Change to okhttpclient mode:

feign.okhttp.enabled=true

ribbon.okhttp.enabled=true

Result: the interface is called normally. As shown below:

Add: it is said on the Internet that the combination of @ getmapping method and @ ResponseBody will report errors. I wrote a test interface filebase (such as the code posted above). The @ getmapping method used with @ ResponseBody has no impact@ The restcontroller interface has the annotation of @ ResponseBody (as shown in the figure below).

The operation results are shown in the following two figures:

[Solved] WebFlux Error: DataBufferLimitException: Part headers exceeded the memory usage limit of 8192 bytes

Question:

An error occurs when Webflux uploads a file:

14:32:24.628 [61667d78915db10adaa025b4da32871f/daa025b4da32871f] [reactor-http-epoll-4] ERROR o.s.w.s.a.HttpWebHandlerAdapter - [7161d1a8-33] 500 Server Error for HTTP POST "/api/XXXXX/XXXXX"
org.springframework.core.io.buffer.DataBufferLimitException: Part headers exceeded the memory usage limit of 8192 bytes
        at org.springframework.http.codec.multipart.MultipartParser$HeadersState.onNext(MultipartParser.java:360)
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
        |_ checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.cloud.sleuth.instrument.web.TraceWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
        |_ checkpoint ⇢ HTTP POST "/api/iot/notice/add" [ExceptionHandlingWebHandler]
Stack trace:
                at org.springframework.http.codec.multipart.MultipartParser$HeadersState.onNext(MultipartParser.java:360)
                at org.springframework.http.codec.multipart.MultipartParser.hookOnNext(MultipartParser.java:104)
                at org.springframework.http.codec.multipart.MultipartParser.hookOnNext(MultipartParser.java:46)
                at reactor.core.publisher.BaseSubscriber.onNext(BaseSubscriber.java:160)
                at org.springframework.cloud.sleuth.instrument.reactor.ScopePassingSpanSubscriber.onNext(ScopePassingSpanSubscriber.java:90)
                at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:120)
                at org.springframework.cloud.sleuth.instrument.reactor.ScopePassingSpanSubscriber.onNext(ScopePassingSpanSubscriber.java:90)
                at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:199)
                at org.springframework.cloud.sleuth.instrument.reactor.ScopePassingSpanSubscriber.onNext(ScopePassingSpanSubscriber.java:90)
                at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:120)
                at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:265)
                at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:371)
                at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:381)
                at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:535)
                at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:94)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
                at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:252)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
                at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
                at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
                at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311)
                at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:432)
                at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
                at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
                at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
                at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
                at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:388)
                at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
                at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
                at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
                at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
                at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
                at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
                at java.lang.Thread.run(Thread.java:882)

reason:

You can only upload files with a maximum size of 8KB, which exceeds the limit and cannot be uploaded normally

Solution:

Method I (not effective):

Direct setting    max-in-memory-size   It can take effect

spring:
  codec:
    max-in-memory-size: 100MB

However, the above code does not take effect in the spring 2.X.x version. The official said it was solved. It is estimated that it was solved in the later version, but the project has been produced. It is certainly impossible to change the version now, so we have to find another way. During his startup, debug found that it was set to 262144 when initializing the code:

Method II:

Configure configuration. In the configuration class of webfluxconfigurer in implements, implement configurehttpmessagecodes for configuration. The example is as follows


import org.springframework.context.annotation.Configuration;
import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.http.codec.multipart.DefaultPartHttpMessageReader;
import org.springframework.http.codec.multipart.MultipartHttpMessageReader;
import org.springframework.web.reactive.config.WebFluxConfigurer;

@Configuration
public class WebConfig implements WebFluxConfigurer {

    @Override
    public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
        DefaultPartHttpMessageReader partReader = new DefaultPartHttpMessageReader();
        // 9 KiB, default is 8 KiB
        partReader.setMaxHeadersSize(100*1024*1024);
        partReader.setEnableLoggingRequestDetails(true);

        MultipartHttpMessageReader multipartReader = new MultipartHttpMessageReader(partReader);
        multipartReader.setEnableLoggingRequestDetails(true);

        configurer.defaultCodecs().multipartReader(multipartReader);

    }
}

Done!

K8s initializing the master & worker node error [How to Solve]

Error 1:coredns:1.8.0 Solution

Error 2:bridge-nf-call-iptables does not exist Solution
ip_forward contents are not set to 1Solution

CentOS 7.8

Error 1:

[config/images] Pulled registry.aliyuncs.com/k8sxio/pause:3.2
[config/images] Pulled registry.aliyuncs.com/k8sxio/etcd:3.4.13-0
failed to pull image “swr.cn-east-2.myhuaweicloud.com/coredns:1.8.0”:
output: time=“2021-04-30T13:26:14+08:00” level=fatal msg=“pulling
image failed: rpc error: code = NotFound desc = failed to pull and
unpack image “swr.cn-east-2.myhuaweicloud.com/coredns:1.8.0”:
failed to resolve reference
“swr.cn-east-2.myhuaweicloud.com/coredns:1.8.0”:
swr.cn-east-2.myhuaweicloud.com/coredns:1.8.0: not found”, error: exit
status 1 To see the stack trace of this error execute with –v=5 or
higher

coredns:1.8.0
failed to resolve reference \"swr.cn-east-2.myhuaweicloud.com/coredns:1.8.0\"
Solution:

curl -sSL https://kuboard.cn/install-script/v1.20.x/init_master.sh | sh -s 1.20.6 /coredns

Error 2:

[config/images] Pulled
swr.cn-east-2.myhuaweicloud.com/coredns/coredns:1.8.0
Initialize Master Node [init] Using Kubernetes version: v1.20.6 [preflight]
Running pre-flight checks error execution phase preflight: [preflight]
Some fatal errors occurred: [ERROR
FileContent–proc-sys-net-bridge-bridge-nf-call-iptables]:
/proc/sys/net/bridge/bridge-nf-call-iptables does not exist [ERROR
FileContent–proc-sys-net-ipv4-ip_forward]:
/proc/sys/net/ipv4/ip_forward contents are not set to 1

bridge-nf-call-iptables does not exist
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
Solution:
Execute in root:

modprobe br_netfilter

ip_forward contents are not set to 1
[ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1
Solution:
ip_forward contents is not set to 1. View contents.

cat /proc/sys/net/ipv4/ip_forward
0

0 means prohibit
1 means forward
Modify

echo "1" > /proc/sys/net/ipv4/ip_forward

How to Solve Chrome Error: net::ERR_FAILED

I found that I couldn’t access the local project as soon as I started up after the holiday.

At first I thought it was a back-end problem, but the back-end checked for a while and found no problem. Then I used the Google browser of three colleagues to test that my IP access project can be successful. Testing with other browsers was also successful…
I reinstalled chrome, but I still couldn’t. finally, I analyzed the network and found that the request was blocked
the solution is as follows:

    1. browser address bar input: chrome://flags/ Search: Secure origins treated as secure change enabled to disabled

    1. or paste the project address into the following input box, you don’t need to change it to disabled
    OK, successfully solved

Conda create New environment Error: An unexpected error has occurred. Conda has prepared the above report.

Problem Description:

In Anaconda prompt (anaconda3), use the CONDA create command to create a new environment. The error is as follows:

(base) D:\OneDrive\Desktop>conda create -n my_env python==3.8
Collecting package metadata (current_repodata.json): failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 259, in _load
        raw_repodata_str = fetch_repodata_remote_request(
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 613, in fetch_repodata_remote_request
        raise Response304ContentUnchanged()
    conda.core.subdir_data.Response304ContentUnchanged

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "D:\anaconda3\lib\site-packages\conda\exceptions.py", line 1079, in __call__
        return func(*args, **kwargs)
      File "D:\anaconda3\lib\site-packages\conda\cli\main.py", line 84, in _main
        exit_code = do_call(args, p)
      File "D:\anaconda3\lib\site-packages\conda\cli\conda_argparse.py", line 83, in do_call
        return getattr(module, func_name)(args, parser)
      File "D:\anaconda3\lib\site-packages\conda\cli\main_create.py", line 41, in execute
        install(args, parser, 'create')
      File "D:\anaconda3\lib\site-packages\conda\cli\install.py", line 261, in install
        unlink_link_transaction = solver.solve_for_transaction(
      File "D:\anaconda3\lib\site-packages\conda\core\solve.py", line 114, in solve_for_transaction
        unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
      File "D:\anaconda3\lib\site-packages\conda\core\solve.py", line 157, in solve_for_diff
        final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
      File "D:\anaconda3\lib\site-packages\conda\core\solve.py", line 262, in solve_final_state
        ssc = self._collect_all_metadata(ssc)
      File "D:\anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
        return f(*args, **kwds)
      File "D:\anaconda3\lib\site-packages\conda\core\solve.py", line 425, in _collect_all_metadata
        index, r = self._prepare(prepared_specs)
      File "D:\anaconda3\lib\site-packages\conda\core\solve.py", line 1020, in _prepare
        reduced_index = get_reduced_index(self.prefix, self.channels,
      File "D:\anaconda3\lib\site-packages\conda\core\index.py", line 276, in get_reduced_index
        new_records = SubdirData.query_all(spec, channels=channels, subdirs=subdirs,
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 120, in query_all
        result = tuple(concat(executor.map(subdir_query, channel_urls)))
      File "D:\anaconda3\lib\concurrent\futures\_base.py", line 611, in result_iterator
        yield fs.pop().result()
      File "D:\anaconda3\lib\concurrent\futures\_base.py", line 432, in result
        return self.__get_result()
      File "D:\anaconda3\lib\concurrent\futures\_base.py", line 388, in __get_result
        raise self._exception
      File "D:\anaconda3\lib\concurrent\futures\thread.py", line 57, in run
        result = self.fn(*self.args, **self.kwargs)
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 112, in <lambda>
        subdir_query = lambda url: tuple(SubdirData(Channel(url), repodata_fn=repodata_fn).query(
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 125, in query
        self.load()
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 189, in load
        _internal_state = self._load()
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 277, in _load
        _internal_state = self._read_local_repdata(mod_etag_headers.get('_etag'),
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 326, in _read_local_repdata
        _internal_state = self._process_raw_repodata_str(raw_repodata_str)
      File "D:\anaconda3\lib\site-packages\conda\core\subdir_data.py", line 364, in _process_raw_repodata_str
        json_obj = json.loads(raw_repodata_str or '{}')
      File "D:\anaconda3\lib\json\__init__.py", line 357, in loads
        return _default_decoder.decode(s)
      File "D:\anaconda3\lib\json\decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "D:\anaconda3\lib\json\decoder.py", line 353, in raw_decode
        obj, end = self.scan_once(s, idx)
    json.decoder.JSONDecodeError: Expecting ',' delimiter: line 420202 column 26 (char 12681108)

`$ D:\anaconda3\Scripts\conda-script.py create -n my_env python==3.8`

  environment variables:
                 CIO_TEST=<not set>
                CLASSPATH=.;D:\Programming Environment\Java\java_8\lib\dt.jar;D:\Programming
                          Environment\Java\java_8\lib\tools.jar;
        CONDA_DEFAULT_ENV=base
                CONDA_EXE=D:\anaconda3\condabin\..\Scripts\conda.exe
               CONDA_EXES="D:\anaconda3\condabin\..\Scripts\conda.exe"
             CONDA_PREFIX=D:\Anaconda3
    CONDA_PROMPT_MODIFIER=(base)
         CONDA_PYTHON_EXE=D:\anaconda3\python.exe
               CONDA_ROOT=D:\anaconda3
              CONDA_SHLVL=1
                CUDA_PATH=D:\Mx-yolov3\CUDAv10.0
           CURL_CA_BUNDLE=<not set>
                 HOMEPATH=\Users\MSTIFIY
          NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
                     PATH=D:\anaconda3;D:\anaconda3\Library\mingw-w64\bin;D:\anaconda3\Library\u
                          sr\bin;D:\anaconda3\Library\bin;D:\anaconda3\Scripts;D:\anaconda3\bin;
                          D:\Anaconda3;D:\Anaconda3\Library\mingw-w64\bin;D:\Anaconda3\Library\u
                          sr\bin;D:\Anaconda3\Library\bin;D:\Anaconda3\Scripts;D:\Anaconda3\bin;
                          D:\anaconda3\condabin;D:\Mx-yolov3\CUDAv10.0\bin;D:\Mx-yolov3\CUDAv10.
                          0\libnvvp;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS;C:\WINDOWS\sy
                          stem32;C:\WINDOWS\System32;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System3
                          2\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\Lauguage
                          Studing\PythonSpider;C:\Program Files
                          (x86)\Google\Chrome\Application\chromedriver;D:\Programming
                          Environment\Java\java_8;D:\Lauguage
                          Studing\Android\Git\Git\cmd;D:\Programming Environment\Tesseract-
                          OCR;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance
                          Toolkit;C:\Program Files (x86)\NVIDIA
                          Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA
                          NvDLISR;D:\Lauguage Studing\Matlab\runtime\win64;D:\Lauguage
                          Studing\Matlab\bin;D:\Lauguage
                          Studing\Matlab\polyspace\bin;D:\Lauguage
                          Studing\opencv3.4.0\opencv\build\x64\vc14\bin;D:\Lauguage Studing\rasp
                          berry\putty;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:
                          \WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D
                          :\anaconda3\envs\Mx_yolov3\Scripts;D:\anaconda3\envs\Mx_yolov3;D:\Andr
                          oidSDK;\platform-tools;D:\AndroidSDK;\tools;D:\Tools\cmake-3.21.2-wind
                          ows-x86_64\bin;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS\System32;C:\W
                          INDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WIN
                          DOWS\System32\OpenSSH;D:\Programming
                          Environment\python;D:\Fiddler;D:\Lauguage Studing\鐖櫕\PyCharm
                          Community Edition 2019.3.1\bin;.;D:\Programming
                          Environment\python\Scripts;C:\Program Files
                          (x86)\Google\Chrome\Application;D:\Programming
                          Environment\Java\java_8\bin;D:\Programming
                          Environment\Java\java_8\jre\bin;"D:\Programming
                          Environment\Java\java_8\bin;D:\Mx-yolov3\CUDAv10.0\bin;D:\Mx-yolov3\CU
                          DAv10.0\libnvvp;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS;C:\WIND
                          OWS\system32;C:\WINDOWS\System32;C:\WINDOWS\System32\Wbem;C:\WINDOWS\S
                          ystem32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D:\Lauguage
                          Studing\PythonSpider;C:\Program Files
                          (x86)\Google\Chrome\Application\chromedriver;D:\Programming
                          Environment\Java\java_8;D:\Lauguage
                          Studing\Android\Git\Git\cmd;D:\Programming Environment\Tesseract-
                          OCR;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance
                          Toolkit;C:\Program Files (x86)\NVIDIA
                          Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA
                          NvDLISR;D:\Lauguage Studing\Matlab\runtime\win64;D:\Lauguage
                          Studing\Matlab\bin;D:\Lauguage
                          Studing\Matlab\polyspace\bin;D:\Lauguage
                          Studing\opencv3.4.0\opencv\build\x64\vc14\bin;D:\Lauguage Studing\rasp
                          berry\putty;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:
                          \WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;D
                          :\anaconda3\envs\Mx_yolov3\Scripts;D:\anaconda3\envs\Mx_yolov3;D:\Andr
                          oidSDK;\platform-tools;D:\AndroidSDK;\tools;D:\Tools\cmake-3.21.2-wind
                          ows-x86_64\bin;";"D:\AndroidSDK;\platform-
                          tools;D:\AndroidSDK;\tools鈥嬧€嬧€嬧€嬧€嬧€嬧€?;D:\Programming
                          Environment\Tesseract-OCR;D:\anaconda3;C:\Users\MSTIFIY\AppData\Local\
                          Microsoft\WindowsApps;D:\Lauguage Studing\miktex\MiKTeX\miktex\bin\x64
             PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\Windows
                          PowerShell\v1.0\Modules
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : base
    active env location : D:\Anaconda3
            shell level : 1
       user config file : C:\Users\MSTIFIY\.condarc
 populated config files : C:\Users\MSTIFIY\.condarc
          conda version : 4.9.2
    conda-build version : 3.18.11
         python version : 3.8.3.final.0
       virtual packages : __cuda=10.2=0
                          __win=0=0
                          __archspec=1=x86_64
       base environment : D:\anaconda3  (writable)
           channel URLs : https://mirrors.ustc.edu.cn/anaconda/pkgs/main/win-64
                          https://mirrors.ustc.edu.cn/anaconda/pkgs/main/noarch
                          https://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64
                          https://mirrors.ustc.edu.cn/anaconda/pkgs/free/noarch
                          https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/win-64
                          https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/noarch
          package cache : D:\anaconda3\pkgs
                          C:\Users\MSTIFIY\.conda\pkgs
                          C:\Users\MSTIFIY\AppData\Local\conda\conda\pkgs
       envs directories : D:\anaconda3\envs
                          C:\Users\MSTIFIY\.conda\envs
                          C:\Users\MSTIFIY\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.3 Windows/10 Windows/10.0.19041
          administrator : False
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.

If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

[y/N]:

Solution:

Open the .Condarc file:

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true

Delete the mirror source of CONDA forge

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
ssl_verify: true

Create a new environment again. The operation is successful.

[Solved] Hongmeng compiles error: Unable to find the java component with apiVersion 4.

Problem phenomenon

SdkError: DOWNLOAD_SDK_ERROR
	 > Cause: Unable to find the java component with apiVersion 4.
	 > Solution: 
		1.Open SDK Manager and download java.
		2.Alternatively, modify the compileSdkVersion settings in the project- and module-level build.gradle files. 

Solution

Modify the build.gradle file:

ohos {
    compileSdkVersion 4
    defaultConfig {
        compatibleSdkVersion 3
    }
}

Change to:

ohos {
    compileSdkVersion 5
    defaultConfig {
        compatibleSdkVersion 3
    }
}