You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/11/24 14:57:21 UTC

[incubator-streampark] branch option created (now 31cdf2708)

This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a change to branch option
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


      at 31cdf2708 [Bug] fixed issue 2052

This branch includes the following new commits:

     new 31cdf2708 [Bug] fixed issue 2052

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-streampark] 01/01: [Bug] fixed issue 2052

Posted by be...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch option
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git

commit 31cdf2708292f498bc9e5f91c389a2bcd251cf6b
Author: benjobs <be...@apache.org>
AuthorDate: Thu Nov 24 22:56:52 2022 +0800

    [Bug] fixed issue 2052
---
 .../src/api/flink/app/app.ts                       |  6 ++-
 .../src/locales/lang/en/flink/setting.ts           |  2 +-
 .../src/locales/lang/zh-CN/flink/setting.ts        |  2 +-
 .../src/views/base/login/LoginForm.vue             |  2 +-
 .../src/views/flink/app/EditStreamPark.vue         |  4 +-
 .../src/views/flink/app/components/CustomForm.tsx  |  5 ++-
 .../src/views/flink/app/components/Dependency.vue  |  8 ++--
 .../src/views/flink/app/hooks/useApp.tsx           | 13 +++++--
 .../src/views/flink/app/hooks/useAppTableAction.ts |  2 +
 .../src/views/flink/app/hooks/useFlinkRender.tsx   |  8 ++--
 .../flink/setting/components/AlertDetailModal.vue  | 42 ++++++++++++++++-----
 .../views/flink/setting/components/AlertModal.vue  | 43 ++++++++++++++++------
 .../views/flink/setting/components/alert.data.ts   | 20 ++++++++--
 13 files changed, 111 insertions(+), 46 deletions(-)

diff --git a/streampark-console/streampark-console-webapp/src/api/flink/app/app.ts b/streampark-console/streampark-console-webapp/src/api/flink/app/app.ts
index dd40bd8b5..958c2eb7a 100644
--- a/streampark-console/streampark-console-webapp/src/api/flink/app/app.ts
+++ b/streampark-console/streampark-console-webapp/src/api/flink/app/app.ts
@@ -196,14 +196,16 @@ export function fetchStartLog(data): Promise<AxiosResponse<any>> {
  * @param {Object} data app Id
  * @returns {Promise<AxiosResponse<Result>>}
  */
-export function fetchCheckSavepointPath(data: { id?: string, savePoint?: string }): Promise<AxiosResponse<Result>> {
+export function fetchCheckSavepointPath(data: {
+  id?: string;
+  savePoint?: string;
+}): Promise<AxiosResponse<Result>> {
   return defHttp.post(
     { url: APP_API.CHECK_SAVEPOINT_PATH, data },
     { isReturnNativeResponse: true },
   );
 }
 
-
 /**
  * Cancel
  * @param {CancelParam} data
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
index 1555f5980..d6a23b994 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
@@ -69,7 +69,7 @@ export default {
     alertDetail: 'Alert Detail',
     alertOperationMessage: {
       updateAlertConfigFailed: 'Update AlertConfig Failed!',
-      updateAlertConfigSuccessfull: 'Update AlertConfig successful!'
+      updateAlertConfigSuccessfull: 'Update AlertConfig successful!',
     },
     delete: 'Are you sure delete this alert conf ?',
   },
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
index b81b29b52..be9d2e45a 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
@@ -68,7 +68,7 @@ export default {
     alertDetail: '告警(配置)详情',
     alertOperationMessage: {
       updateAlertConfigFailed: '告警配置更新失败!',
-      updateAlertConfigSuccessfull: '告警配置更新成功!'
+      updateAlertConfigSuccessfull: '告警配置更新成功!',
     },
     delete: '是否确定删除此警报 ?',
   },
diff --git a/streampark-console/streampark-console-webapp/src/views/base/login/LoginForm.vue b/streampark-console/streampark-console-webapp/src/views/base/login/LoginForm.vue
index cd924b71d..47e71fa4b 100644
--- a/streampark-console/streampark-console-webapp/src/views/base/login/LoginForm.vue
+++ b/streampark-console/streampark-console-webapp/src/views/base/login/LoginForm.vue
@@ -17,7 +17,7 @@
 <template>
   <div class="enter-x mb-50px text-light-50">
     <div class="text-center enter-x">
-      <img class="logo w-160px mx-auto my-20px" src="/@/assets/images/logo.png" />
+      <img class="logo w-160px mx-auto my-20px" src="/@/assets/images/logo.svg" />
     </div>
   </div>
   <Form
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
index 5d4970830..21571fb7b 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
@@ -155,10 +155,10 @@
   async function handleAppUpdate(values) {
     try {
       submitLoading.value = true;
-      if (app.jobType == 1) {
+      if (app.jobType == JobTypeEnum.JAR) {
         handleSubmitCustomJob(values);
       } else {
-        if (app.jobType == 2) {
+        if (app.jobType == JobTypeEnum.SQL) {
           if (values.flinkSql == null || values.flinkSql.trim() === '') {
             createMessage.warning(t('flink.app.editStreamPark.flinkSqlRequired'));
           } else {
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/components/CustomForm.tsx b/streampark-console/streampark-console-webapp/src/views/flink/app/components/CustomForm.tsx
index 056f49547..9d41b1195 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/components/CustomForm.tsx
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/components/CustomForm.tsx
@@ -103,8 +103,9 @@ export default defineComponent({
               <Tag color="#2db7f5" class="tag-note">
                 Note
               </Tag>
-              Operation after checkpoint failure, e.g: Within 5 minutes (checkpoint failure rate interval), if
-              the number of checkpoint failures reaches 10 (max failures per interval),action will be triggered(alert or restart job)
+              Operation after checkpoint failure, e.g: Within 5 minutes (checkpoint failure rate
+              interval), if the number of checkpoint failures reaches 10 (max failures per
+              interval),action will be triggered(alert or restart job)
             </span>
           </p>
         </div>
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
index 9f91911fb..027b963a8 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
@@ -293,10 +293,10 @@
   <div class="dependency-box" v-if="dependencyRecords.length > 0 || uploadJars.length > 0">
     <Alert
       class="dependency-item"
-      v-for="(value, index) in dependencyRecords"
+      v-for="(dept, index) in dependencyRecords"
       :key="`dependency_${index}`"
       type="info"
-      @click="handleEditPom(value)"
+      @click="handleEditPom(dept)"
     >
       <template #message>
         <Space @click="handleEditPom(value)" class="tag-dependency-pom">
@@ -313,8 +313,8 @@
     </Alert>
     <Alert
       class="dependency-item"
-      v-for="(value, index) in uploadJars"
-      :key="`upload_jars_${index}`"
+      v-for="jar in uploadJars"
+      :key="`upload_jars_${jar}`"
       type="info"
     >
       <template #message>
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
index 53b199f8b..a4282feae 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 import { Alert, Form, Input, Tag } from 'ant-design-vue';
-import { h, onMounted, ref, reactive, VNode, unref } from 'vue';
+import { h, onMounted, reactive, ref, unref, VNode } from 'vue';
 import { handleAppBuildStatueText } from '../utils';
 import { fetchCopy, fetchForcedStop, fetchMapping } from '/@/api/flink/app/app';
 import { fetchBuild, fetchBuildDetail } from '/@/api/flink/app/flinkBuild';
@@ -159,9 +159,14 @@ export const useFlinkApplication = (openStartModal: Fn) => {
       const state = app['optionState'];
       if (state === OptionStateEnum.NONE) {
         return (
-          [AppStateEnum.STARTING, AppStateEnum.RESTARTING, AppStateEnum.CANCELLING].includes(
-            app.state,
-          ) || false
+          [
+            AppStateEnum.INITIALIZING,
+            AppStateEnum.STARTING,
+            AppStateEnum.RESTARTING,
+            AppStateEnum.CANCELLING,
+            AppStateEnum.RECONCILING,
+            AppStateEnum.MAPPING,
+          ].includes(app.state) || false
         );
       }
       return true;
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
index 9119d2c7b..49a2c10d5 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
@@ -198,6 +198,8 @@ export const useAppTableAction = (
           AppStateEnum.LOST,
           AppStateEnum.TERMINATED,
           AppStateEnum.POS_TERMINATED,
+          AppStateEnum.SUCCEEDED,
+          AppStateEnum.KILLED,
         ].includes(record.state),
         auth: 'app:delete',
         icon: 'ant-design:delete-outlined',
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
index 903eba8af..1a23e7a0a 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
@@ -174,10 +174,10 @@ export const renderTotalMemory = ({ model, field }: RenderCallbackParams) => {
           <Tag color="#2db7f5" class="tag-note">
             Note
           </Tag>
-          Explicitly configuring both "total process memory" and "total Flink memory" is not recommended. It may lead to
-          deployment failures due to potential memory configuration conflicts. Configuring other
-          memory components also requires caution as it can produce further configuration conflicts,
-          The easiest way is to set "total process memory"
+          Explicitly configuring both "total process memory" and "total Flink memory" is not
+          recommended. It may lead to deployment failures due to potential memory configuration
+          conflicts. Configuring other memory components also requires caution as it can produce
+          further configuration conflicts, The easiest way is to set "total process memory"
         </span>
       </p>
     </div>
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
index e4a470b2d..842afdfec 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
@@ -68,15 +68,35 @@
     }
   });
   const dingTalkColumn: DescItem[] = [
-    { label: t('flink.setting.alert.dingTalkUrl'), field: 'alertDingURL', span: 2, labelMinWidth: 50 },
-    { label: t('flink.setting.alert.dingtalkAccessToken'), field: 'token', span: 2, render: renderTypl },
-    { label: t('flink.setting.alert.secretToken'), field: 'secretToken', span: 2, render: renderTypl },
+    {
+      label: t('flink.setting.alert.dingTalkUrl'),
+      field: 'alertDingURL',
+      span: 2,
+      labelMinWidth: 50,
+    },
+    {
+      label: t('flink.setting.alert.dingtalkAccessToken'),
+      field: 'token',
+      span: 2,
+      render: renderTypl,
+    },
+    {
+      label: t('flink.setting.alert.secretToken'),
+      field: 'secretToken',
+      span: 2,
+      render: renderTypl,
+    },
     { label: t('flink.setting.alert.dingTalkUser'), field: 'contacts' },
     { label: t('flink.setting.alert.dingtalkIsAtAll'), field: 'isAtAll', render: renderTag },
   ];
   const larkColumn: DescItem[] = [
     { label: t('flink.setting.alert.larkToken'), field: 'token', span: 2, render: renderTypl },
-    { label: t('flink.setting.alert.larkSecretToken'), field: 'secretToken', span: 2, render: renderTypl },
+    {
+      label: t('flink.setting.alert.larkSecretToken'),
+      field: 'secretToken',
+      span: 2,
+      render: renderTypl,
+    },
     { label: t('flink.setting.alert.larkIsAtAll'), field: 'isAtAll', render: renderTag },
   ];
   function renderTag(value: boolean) {
@@ -92,12 +112,12 @@
   <BasicModal :show-ok-btn="false" @register="registerModal" class="alert-detail">
     <template #title>
       <SvgIcon name="alarm" size="25" />
-      {{t('flink.setting.alert.alertDetail')}}
+      {{ t('flink.setting.alert.alertDetail') }}
     </template>
     <template v-if="alertTypeTags.includes('1')">
       <Divider>
         <SvgIcon name="mail" size="20" />
-        {{t('flink.setting.alert.email')}}
+        {{ t('flink.setting.alert.email') }}
       </Divider>
       <Description
         class="alert-detail"
@@ -109,23 +129,25 @@
     <template v-if="alertTypeTags.includes('2')">
       <Divider>
         <SvgIcon name="dingtalk" size="20" />
-        {{t('flink.setting.alert.dingTalk')}}
+        {{ t('flink.setting.alert.dingTalk') }}
       </Divider>
       <Description class="alert-detail" :column="2" :data="dingTalk" :schema="dingTalkColumn" />
     </template>
     <template v-if="alertTypeTags.includes('4')">
-      <Divider><SvgIcon name="wecom" size="20" /> {{t('flink.setting.alert.weChat')}} </Divider>
+      <Divider><SvgIcon name="wecom" size="20" /> {{ t('flink.setting.alert.weChat') }} </Divider>
       <Description
         class="alert-detail"
         :column="1"
         :data="weChat"
-        :schema="[{ label: t('flink.setting.alert.weChattoken'), field: 'token', render: renderTypl }]"
+        :schema="[
+          { label: t('flink.setting.alert.weChattoken'), field: 'token', render: renderTypl },
+        ]"
       />
     </template>
     <template v-if="alertTypeTags.includes('16')">
       <Divider>
         <SvgIcon name="dingtalk" size="20" />
-        {{t('flink.setting.alert.lark')}}
+        {{ t('flink.setting.alert.lark') }}
       </Divider>
       <Description :column="2" :data="lark" :schema="larkColumn" class="alert-detail" />
     </template>
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
index cb1f5dd1d..093447fcc 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
@@ -54,7 +54,10 @@
         field: 'alertName',
         label: t('flink.setting.alert.alertName'),
         component: 'Input',
-        componentProps: { allowClear: true, placeholder: t('flink.setting.alert.alertNamePlaceHolder') },
+        componentProps: {
+          allowClear: true,
+          placeholder: t('flink.setting.alert.alertNamePlaceHolder'),
+        },
         afterItem: () =>
           h('span', { class: 'conf-switch' }, t('flink.setting.alert.alertNameTips')),
         dynamicRules: () => {
@@ -62,7 +65,9 @@
             {
               validator: async (_, value) => {
                 if (value === null || value === undefined || value === '') {
-                  return Promise.reject(t('flink.setting.alert.alertNameErrorMessage.alertNameIsRequired'));
+                  return Promise.reject(
+                    t('flink.setting.alert.alertNameErrorMessage.alertNameIsRequired'),
+                  );
                 } else {
                   if (!alertId.value) {
                     try {
@@ -75,7 +80,9 @@
                         return Promise.resolve();
                       }
                     } catch (error) {
-                      return Promise.reject(t('flink.setting.alert.alertNameErrorMessage.alertConfigFailed') + error);
+                      return Promise.reject(
+                        t('flink.setting.alert.alertNameErrorMessage.alertConfigFailed') + error,
+                      );
                     }
                   }
                 }
@@ -195,7 +202,7 @@
   >
     <template #title>
       <SvgIcon name="alarm" size="25" />
-      {{t('flink.setting.alert.alertSetting')}}
+      {{ t('flink.setting.alert.alertSetting') }}
     </template>
     <BasicForm @register="registerForm" class="!mt-15px">
       <template #type="{ model, field }">
@@ -222,13 +229,21 @@
         <template v-if="(alertType || []).includes('1')">
           <Divider>
             <SvgIcon name="mail" size="20" />
-            {{t('flink.setting.alert.email')}}
+            {{ t('flink.setting.alert.email') }}
           </Divider>
           <FormItem
             :label="t('flink.setting.alert.alertEmail')"
             :rules="[
-              { required: true, message: t('flink.setting.alert.alertEmailAddressIsRequired'), trigger: 'blur' },
-              { type: 'email', message: t('flink.setting.alert.alertEmailFormatIsInvalid'), trigger: 'blur' },
+              {
+                required: true,
+                message: t('flink.setting.alert.alertEmailAddressIsRequired'),
+                trigger: 'blur',
+              },
+              {
+                type: 'email',
+                message: t('flink.setting.alert.alertEmailFormatIsInvalid'),
+                trigger: 'blur',
+              },
             ]"
             name="alertEmail"
           >
@@ -243,7 +258,7 @@
       <template #alertDingURL="{ model, field }" v-if="(alertType || []).includes('2')">
         <Divider>
           <SvgIcon name="dingtalk" size="20" />
-          {{t('flink.setting.alert.dingTalk')}}
+          {{ t('flink.setting.alert.dingTalk') }}
         </Divider>
         <FormItem
           :label="t('flink.setting.alert.dingTalkUrl')"
@@ -257,20 +272,24 @@
             },
           ]"
         >
-          <Input v-model:value="model[field]" :placeholder="t('flink.setting.alert.dingTalkPlaceholder')" allowClear />
+          <Input
+            v-model:value="model[field]"
+            :placeholder="t('flink.setting.alert.dingTalkPlaceholder')"
+            allowClear
+          />
         </FormItem>
       </template>
 
       <!-- WeChat -->
       <template #weToken="{ model, field, schema }" v-if="(alertType || []).includes('4')">
-        <Divider><SvgIcon name="wecom" size="20" /> {{t('flink.setting.alert.weChat')}} </Divider>
+        <Divider><SvgIcon name="wecom" size="20" /> {{ t('flink.setting.alert.weChat') }} </Divider>
         <FormItem :label="schema.label" :name="field" :rules="schema.rules">
           <InputTextArea v-model:value="model[field]" v-bind="schema.componentProps" />
         </FormItem>
       </template>
 
       <template #alertSms="{ model, field, schema }" v-if="(alertType || []).includes('8')">
-        <Divider><SvgIcon name="message" size="20" /> {{t('flink.setting.alert.sms')}} </Divider>
+        <Divider><SvgIcon name="message" size="20" /> {{ t('flink.setting.alert.sms') }} </Divider>
         <FormItem :label="schema.label" :name="field" :rules="schema.rules">
           <Input v-model:value="model[field]" v-bind="schema.componentProps" />
         </FormItem>
@@ -278,7 +297,7 @@
 
       <!-- lark -->
       <template #larkToken="{ model, field, schema }" v-if="(alertType || []).includes('16')">
-        <Divider><SvgIcon name="lark" size="20" /> {{t('flink.setting.alert.lark')}} </Divider>
+        <Divider><SvgIcon name="lark" size="20" /> {{ t('flink.setting.alert.lark') }} </Divider>
         <FormItem :label="schema.label" :name="field" :rules="schema.rules">
           <Input
             v-model:value="model[field]"
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
index 338fa2611..9e2a77597 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
@@ -24,7 +24,9 @@ export const alertFormSchema: Array<FormSchema> = [
     label: t('flink.setting.alert.faultAlertType'),
     component: 'Select',
     slot: 'type',
-    dynamicRules: () => [{ required: true, message: t('flink.setting.alert.faultAlertTypeIsRequired') }],
+    dynamicRules: () => [
+      { required: true, message: t('flink.setting.alert.faultAlertTypeIsRequired') },
+    ],
   },
   {
     field: 'alertEmail',
@@ -67,7 +69,13 @@ export const alertFormSchema: Array<FormSchema> = [
       placeholder: t('flink.setting.alert.secretTokenPlaceholder'),
     },
     ifShow: ({ model }) => (model.alertType || []).includes('2') && model.dingtalkSecretEnable,
-    rules: [{ required: true, message: t('flink.setting.alert.dingTalkSecretTokenIsRequired'), trigger: 'blur' }],
+    rules: [
+      {
+        required: true,
+        message: t('flink.setting.alert.dingTalkSecretTokenIsRequired'),
+        trigger: 'blur',
+      },
+    ],
   },
   {
     field: 'alertDingUser',
@@ -159,7 +167,13 @@ export const alertFormSchema: Array<FormSchema> = [
       placeholder: t('flink.setting.alert.larkSecretTokenPlaceholder'),
     },
     ifShow: ({ model }) => (model.alertType || []).includes('16') && model.larkSecretEnable,
-    rules: [{ required: true, message: t('flink.setting.alert.larkSecretTokenIsRequired'), trigger: 'blur' }],
+    rules: [
+      {
+        required: true,
+        message: t('flink.setting.alert.larkSecretTokenIsRequired'),
+        trigger: 'blur',
+      },
+    ],
   },
 ];