This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch dev-1.1.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/dev-1.1.1 by this push:
new 2dbd70bf92 1.1.1 rc03 (#11161)
2dbd70bf92 is described below
commit 2dbd70bf92ed8944d60f38cb43ef556feb73b41d
Author: yiguolei <[email protected]>
AuthorDate: Mon Jul 25 11:04:03 2022 +0800
1.1.1 rc03 (#11161)
* [fix](fe_plugins) update fe plugins' dependency to fe 1.0-SNAPSHOT
(#11141)
* 1.1.1 rc03
Co-authored-by: Mingyu Chen <[email protected]>
Co-authored-by: yiguolei <[email protected]>
---
docs/en/docs/ecosystem/audit-plugin.md | 101 +++++++++++++++++++++
docs/zh-CN/docs/ecosystem/audit-plugin.md | 101 +++++++++++++++++++++
.../apache/doris/common/util/DigitalVersion.java | 3 +-
.../src/main/assembly/plugin.properties | 2 +-
.../doris/plugin/audit/DorisStreamLoader.java | 2 +-
fe_plugins/pom.xml | 17 +++-
gensrc/script/gen_build_version.sh | 2 +-
7 files changed, 223 insertions(+), 5 deletions(-)
diff --git a/docs/en/docs/ecosystem/audit-plugin.md
b/docs/en/docs/ecosystem/audit-plugin.md
new file mode 100644
index 0000000000..559656455c
--- /dev/null
+++ b/docs/en/docs/ecosystem/audit-plugin.md
@@ -0,0 +1,101 @@
+---
+{
+ "title": "Audit log plugin",
+ "language": "en"
+}
+---
+
+<!-
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+->
+
+# Audit log plugin
+
+Doris's audit log plugin was developed based on FE's plugin framework. Is an
optional plugin. Users can install or uninstall this plugin at runtime.
+
+This plugin can periodically import the FE audit log into the specified Doris
cluster, so that users can easily view and analyze the audit log through SQL.
+
+## Compile, Configure and Deploy
+
+### FE Configuration
+
+FE's plugin framework is an experimental feature, which is closed by default.
In the FE configuration file, add `plugin_enable = true` to enable the plugin
framework.
+
+### AuditLoader Configuration
+
+The configuration of the auditloader plugin is located in `$
{DORIS}/fe_plugins/auditloader/src/main/assembly/`.
+
+Open `plugin.conf` for configuration. See the comments of the configuration
items.
+
+### Compile
+
+After executing `sh build_plugin.sh` in the Doris code directory, you will get
the `auditloader.zip` file in the `fe_plugins/output` directory.
+
+### Deployment
+
+You can place this file on an http download server or copy(or unzip) it to the
specified directory of all FEs. Here we use the latter.
+
+### Installation
+
+After deployment is complete, and before installing the plugin, you need to
create the audit database and tables previously specified in `plugin.conf`. The
table creation statement is as follows:
+
+```
+create table doris_audit_tbl__
+(
+ query_id varchar(48) comment "Unique query id",
+ `time` datetime not null comment "Query start time",
+ client_ip varchar(32) comment "Client IP",
+ user varchar(64) comment "User name",
+ db varchar(96) comment "Database of this query",
+ state varchar(8) comment "Query result state. EOF, ERR, OK",
+ query_time bigint comment "Query execution time in millisecond",
+ scan_bytes bigint comment "Total scan bytes of this query",
+ scan_rows bigint comment "Total scan rows of this query",
+ return_rows bigint comment "Returned rows of this query",
+ stmt_id int comment "An incremental id of statement",
+ is_query tinyint comment "Is this statemt a query. 1 or 0",
+ frontend_ip varchar(32) comment "Frontend ip of executing this statement",
+ cpu_time_ms bigint comment "Total scan cpu time in millisecond of this
query",
+ sql_hash varchar(50) comment "Hash value for this query",
+ sql_digest varchar(48) comment "Sql digest for this query",
+ peak_memory_bytes bigint comment "Peak memory bytes used on all backends
of this query",
+ stmt string comment "The original statement, trimed if longer than 2G"
+) engine=OLAP
+duplicate key(query_id, `time`, client_ip)
+partition by range(`time`) ()
+distributed by hash(query_id) buckets 1
+properties(
+ "dynamic_partition.time_unit" = "DAY",
+ "dynamic_partition.start" = "-30",
+ "dynamic_partition.end" = "3",
+ "dynamic_partition.prefix" = "p",
+ "dynamic_partition.buckets" = "1",
+ "dynamic_partition.enable" = "true",
+ "replication_num" = "3"
+);
+```
+
+>**Notice**
+>
+> In the above table structure: stmt string, this can only be used in 0.15 and
later versions, in previous versions, the field type used varchar
+
+The `dynamic_partition` attribute selects the number of days to keep the audit
log based on your needs.
+
+After that, connect to Doris and use the `INSTALL PLUGIN` command to complete
the installation. After successful installation, you can see the installed
plug-ins through `SHOW PLUGINS`, and the status is `INSTALLED`.
+
+Upon completion, the plug-in will continuously import audit date into this
table at specified intervals.
diff --git a/docs/zh-CN/docs/ecosystem/audit-plugin.md
b/docs/zh-CN/docs/ecosystem/audit-plugin.md
new file mode 100644
index 0000000000..e363f50413
--- /dev/null
+++ b/docs/zh-CN/docs/ecosystem/audit-plugin.md
@@ -0,0 +1,101 @@
+---
+{
+ "title": "审计日志插件",
+ "language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# 审计日志插件
+
+Doris 的审计日志插件是在 FE 的插件框架基础上开发的。是一个可选插件。用户可以在运行时安装或卸载这个插件。
+
+该插件可以将 FE 的审计日志定期的导入到指定 Doris 集群中,以方便用户通过 SQL 对审计日志进行查看和分析。
+
+## 编译、配置和部署
+
+### FE 配置
+
+FE的插件框架当前是实验性功能,Doris中默认关闭,在FE的配置文件中,增加`plugin_enable = true`启用plugin框架
+
+### AuditLoader 配置
+
+auditloader plugin的配置位于`${DORIS}/fe_plugins/auditloader/src/main/assembly/`.
+
+打开 `plugin.conf` 进行配置。配置项说明参见注释。
+
+### 编译
+
+在 Doris 代码目录下执行 `sh build_plugin.sh` 后,会在 `fe_plugins/output` 目录下得到
`auditloader.zip` 文件。
+
+### 部署
+
+您可以将这个文件放置在一个 http 服务器上,或者拷贝`auditloader.zip`(或者解压`auditloader.zip`)到所有 FE
的指定目录下。这里我们使用后者。
+
+### 安装
+
+部署完成后,安装插件前,需要创建之前在 `plugin.conf` 中指定的审计数据库和表。其中建表语句如下:
+
+```
+create table doris_audit_tbl__
+(
+ query_id varchar(48) comment "Unique query id",
+ `time` datetime not null comment "Query start time",
+ client_ip varchar(32) comment "Client IP",
+ user varchar(64) comment "User name",
+ db varchar(96) comment "Database of this query",
+ state varchar(8) comment "Query result state. EOF, ERR, OK",
+ query_time bigint comment "Query execution time in millisecond",
+ scan_bytes bigint comment "Total scan bytes of this query",
+ scan_rows bigint comment "Total scan rows of this query",
+ return_rows bigint comment "Returned rows of this query",
+ stmt_id int comment "An incremental id of statement",
+ is_query tinyint comment "Is this statemt a query. 1 or 0",
+ frontend_ip varchar(32) comment "Frontend ip of executing this statement",
+ cpu_time_ms bigint comment "Total scan cpu time in millisecond of this
query",
+ sql_hash varchar(48) comment "Hash value for this query",
+ sql_digest varchar(48) comment "Sql digest for this query",
+ peak_memory_bytes bigint comment "Peak memory bytes used on all backends
of this query",
+ stmt string comment "The original statement, trimed if longer than 2G "
+) engine=OLAP
+duplicate key(query_id, `time`, client_ip)
+partition by range(`time`) ()
+distributed by hash(query_id) buckets 1
+properties(
+ "dynamic_partition.time_unit" = "DAY",
+ "dynamic_partition.start" = "-30",
+ "dynamic_partition.end" = "3",
+ "dynamic_partition.prefix" = "p",
+ "dynamic_partition.buckets" = "1",
+ "dynamic_partition.enable" = "true",
+ "replication_num" = "3"
+);
+```
+
+>**注意**
+>
+> 上面表结构中:stmt string ,这个只能在0.15及之后版本中使用,之前版本,字段类型使用varchar
+
+其中 `dynamic_partition` 属性根据自己的需要,选择审计日志保留的天数。
+
+之后,连接到 Doris 后使用 `INSTALL PLUGIN` 命令完成安装。安装成功后,可以通过 `SHOW PLUGINS`
看到已经安装的插件,并且状态为 `INSTALLED`。
+
+完成后,插件会不断的以指定的时间间隔将审计日志插入到这个表中。
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/util/DigitalVersion.java
b/fe/fe-core/src/main/java/org/apache/doris/common/util/DigitalVersion.java
index ca077bd6c0..4c054464f5 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/DigitalVersion.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/DigitalVersion.java
@@ -81,7 +81,8 @@ public class DigitalVersion implements
Comparable<DigitalVersion> {
int revision = Integer.parseInt(list[2].trim());
if (major >= 100 || minor >= 100 || revision >= 100) {
- throw new IllegalArgumentException("Illegal version format: "
+ version);
+ throw new IllegalArgumentException(
+ "Illegal version format: " + version + ". Expected:
major.minor.revision");
}
return new DigitalVersion((byte) major, (byte) minor, (byte)
revision);
diff --git a/fe_plugins/auditloader/src/main/assembly/plugin.properties
b/fe_plugins/auditloader/src/main/assembly/plugin.properties
index 0331385651..65b25f8706 100755
--- a/fe_plugins/auditloader/src/main/assembly/plugin.properties
+++ b/fe_plugins/auditloader/src/main/assembly/plugin.properties
@@ -18,6 +18,6 @@
name=AuditLoader
type=AUDIT
description=load audit log to olap load, and user can view the statistic of
queries
-version=0.13.1
+version=1.0.0
java.version=1.8.0
classname=org.apache.doris.plugin.audit.AuditLoaderPlugin
diff --git
a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java
b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java
index 2311e2b06e..b99e323a4a 100644
---
a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java
+++
b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java
@@ -69,7 +69,7 @@ public class DorisStreamLoader {
conn.addRequestProperty("label", label);
conn.addRequestProperty("max_filter_ratio", "1.0");
- conn.addRequestProperty("columns", "query_id, time, client_ip, user,
db, state, query_time, scan_bytes," +
+ conn.addRequestProperty("columns", "query_id, `time`, client_ip, user,
db, state, query_time, scan_bytes," +
" scan_rows, return_rows, stmt_id, is_query, frontend_ip,
cpu_time_ms, sql_hash, peak_memory_bytes, stmt");
conn.setDoOutput(true);
diff --git a/fe_plugins/pom.xml b/fe_plugins/pom.xml
index cbfad648bd..ed7e2a5fa3 100644
--- a/fe_plugins/pom.xml
+++ b/fe_plugins/pom.xml
@@ -68,7 +68,7 @@ under the License.
</modules>
<properties>
<log4j2.version>2.17.1</log4j2.version>
- <doris.version>0.15-SNAPSHOT</doris.version>
+ <doris.version>1.0-SNAPSHOT</doris.version>
<project.scm.id>github</project.scm.id>
</properties>
<profiles>
@@ -93,6 +93,21 @@ under the License.
</pluginRepository>
</pluginRepositories>
</profile>
+ <profile>
+ <id>general-env</id>
+ <activation>
+ <property>
+ <name>!env.CUSTOM_MAVEN_REPO</name>
+ </property>
+ </activation>
+ <repositories>
+ <!-- for java-cup -->
+ <repository>
+ <id>cloudera-public</id>
+
<url>https://repository.cloudera.com/artifactory/public/</url>
+ </repository>
+ </repositories>
+ </profile>
</profiles>
<dependencyManagement>
<dependencies>
diff --git a/gensrc/script/gen_build_version.sh
b/gensrc/script/gen_build_version.sh
index 17539dc514..f7c051f583 100755
--- a/gensrc/script/gen_build_version.sh
+++ b/gensrc/script/gen_build_version.sh
@@ -25,7 +25,7 @@
# contains the build version based on the git hash or svn revision.
##############################################################
-build_version="1.1.1-rc02"
+build_version="1.1.1-rc03"
unset LANG
unset LC_CTYPE
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]