[SCN REFACTOR] replace flash back snapshot and remove read snapshot session
This commit is contained in:
@ -76,7 +76,7 @@ TEST(ObBackupDest, nfs)
|
||||
|
||||
TEST(ObBackupDest, oss)
|
||||
{
|
||||
const char *backup_test = "oss://backup_dir/?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&access_key=222&delete_mode=tagging";
|
||||
const char *backup_test = "oss://backup_dir/?host=xxx.com&access_id=111&access_key=222&delete_mode=tagging";
|
||||
ObBackupDest dest;
|
||||
ObBackupDest dest1;
|
||||
char backup_dest_str[OB_MAX_BACKUP_DEST_LENGTH] = { 0 };
|
||||
@ -88,9 +88,9 @@ TEST(ObBackupDest, oss)
|
||||
ASSERT_TRUE(dest.storage_info_->device_type_ == 0);
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_dest_str(backup_dest_str, sizeof(backup_dest_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "oss://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&delete_mode=tagging"));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "oss://backup_dir?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&delete_mode=tagging"));
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_path_str(backup_path_str, sizeof(backup_path_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "oss://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com"));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "oss://backup_dir?host=xxx.com"));
|
||||
ASSERT_TRUE(dest.is_root_path_equal(dest1));
|
||||
bool is_equal = false;
|
||||
ASSERT_EQ(OB_SUCCESS, dest.is_backup_path_equal(dest1, is_equal));
|
||||
@ -103,14 +103,14 @@ TEST(ObBackupDest, oss)
|
||||
|
||||
TEST(ObBackupDest, oss_encrypt)
|
||||
{
|
||||
const char *backup_test = "oss://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F";
|
||||
const char *backup_test = "oss://backup_dir?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F";
|
||||
ObBackupDest dest;
|
||||
ASSERT_EQ(OB_SUCCESS, dest.set(backup_test));
|
||||
LOG_INFO("dump backup dest", K(dest.get_root_path()), K(*(dest.get_storage_info())));
|
||||
ASSERT_EQ(0, strcmp(dest.root_path_, "oss://backup_dir"));
|
||||
ASSERT_TRUE(dest.storage_info_->device_type_ == 0);
|
||||
const char *path = "oss://backup_dir/";
|
||||
const char *endpoint = "host=http://oss-cn-hangzhou-zmf.aliyuncs.com";
|
||||
const char *endpoint = "host=xxx.com";
|
||||
const char *authorization = "access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F";
|
||||
const char *extension = "";
|
||||
ObBackupDest dest1;
|
||||
@ -120,9 +120,9 @@ TEST(ObBackupDest, oss_encrypt)
|
||||
char backup_dest_str[OB_MAX_BACKUP_DEST_LENGTH] = { 0 };
|
||||
char backup_path_str[OB_MAX_BACKUP_DEST_LENGTH] = { 0 };
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_dest_str(backup_dest_str, sizeof(backup_dest_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "oss://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F"));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "oss://backup_dir?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F"));
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_path_str(backup_path_str, sizeof(backup_path_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "oss://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com"));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "oss://backup_dir?host=xxx.com"));
|
||||
|
||||
dest1.reset();
|
||||
ASSERT_EQ(OB_SUCCESS, dest1.set(path, endpoint, authorization, extension));
|
||||
@ -131,13 +131,13 @@ TEST(ObBackupDest, oss_encrypt)
|
||||
|
||||
TEST(ObBackupDest, cos_encrypt)
|
||||
{
|
||||
const char *backup_test = "cos://backup_dir/?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333";
|
||||
const char *backup_test = "cos://backup_dir/?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333";
|
||||
ObBackupDest dest;
|
||||
ASSERT_EQ(OB_SUCCESS, dest.set(backup_test));
|
||||
ASSERT_EQ(0, strcmp(dest.root_path_, "cos://backup_dir"));
|
||||
ASSERT_TRUE(dest.storage_info_->device_type_ == 2);
|
||||
const char *path = "cos://backup_dir/";
|
||||
const char *endpoint = "host=http://oss-cn-hangzhou-zmf.aliyuncs.com";
|
||||
const char *endpoint = "host=xxx.com";
|
||||
const char *authorization = "access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F";
|
||||
const char *extension = "appid=333";
|
||||
|
||||
@ -147,14 +147,14 @@ TEST(ObBackupDest, cos_encrypt)
|
||||
char backup_dest_str[OB_MAX_BACKUP_DEST_LENGTH] = { 0 };
|
||||
char backup_path_str[OB_MAX_BACKUP_DEST_LENGTH] = { 0 };
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_dest_str(backup_dest_str, sizeof(backup_dest_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "cos://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333"));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "cos://backup_dir?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333"));
|
||||
ASSERT_EQ(OB_SUCCESS, dest.get_backup_path_str(backup_path_str, sizeof(backup_path_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "cos://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com"));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "cos://backup_dir?host=xxx.com"));
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, dest1.get_backup_dest_str(backup_dest_str, sizeof(backup_dest_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "cos://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333"));
|
||||
ASSERT_EQ(0, strcmp(backup_dest_str, "cos://backup_dir?host=xxx.com&access_id=111&encrypt_key=9B6FDE7E1E54CD292CDE5494CEB86B6F&appid=333"));
|
||||
ASSERT_EQ(OB_SUCCESS, dest1.get_backup_path_str(backup_path_str, sizeof(backup_path_str)));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "cos://backup_dir?host=http://oss-cn-hangzhou-zmf.aliyuncs.com"));
|
||||
ASSERT_EQ(0, strcmp(backup_path_str, "cos://backup_dir?host=xxx.com"));
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDqTCCApECAgDMMA0GCSqGSIb3DQEBCwUAMIGYMQswCQYDVQQGEwJDTjEQMA4G
|
||||
A1UECAwHQmVpamluZzEQMA4GA1UEBwwHQmVpamluZzEWMBQGA1UECgwNQ2lwaGVy
|
||||
R2F0ZXdheTEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxEjAQBgNVBAMMCUNBU0JNVU5F
|
||||
VzEjMCEGCSqGSIb3DQEJARYUZ3lAY2lwaGVyZ2F0ZXdheS5jb20wIBcNMjEwODIy
|
||||
MDMwMTU2WhgPMjEyMTA3MjkwMzAxNTZaMIGYMQswCQYDVQQGEwJDTjEQMA4GA1UE
|
||||
CAwHQmVpamluZzEWMBQGA1UECgwNQ2lwaGVyR2F0ZXdheTEUMBIGA1UECwwLRGV2
|
||||
ZWxvcG1lbnQxEDAOBgNVBAcMB0JlaWppbmcxEjAQBgNVBAMMCUNBU0JNVU5FVzEj
|
||||
MCEGCSqGSIb3DQEJARYUZ3lAY2lwaGVyZ2F0ZXdheS5jb20wggEiMA0GCSqGSIb3
|
||||
DQEBAQUAA4IBDwAwggEKAoIBAQC4dR5v+LyNYFo8fb4v0Wz1bZEmbWLmAjbqfPqk
|
||||
VZLT7cmARpc5O92OHNsNQkMSagvxoDRgddPFH9H2XQ4jOf4n0WMZ8hm9zlS/yP8D
|
||||
cRNyWqhVE1G1dfGl4TbxbbEC9dDmv7+ZZsq9GLmS8+59eOEm08b4ZfMLTwYRYgr4
|
||||
SUimtbb1UajWKhBMCxXl3+xgnoNgFnX8LiIVoCEoUncyng3bfBK93vxZNCkzA1OO
|
||||
ubG8vV+evnOhqDxjKRpOMArrYCFcWYvq+kj16qI4vYUxJ63rMP2LE13ZRhlFnEoF
|
||||
HSYu0GVL/z02luAHwZKCv7g8UaCVHdzP6Xm70eTnXmVhSPjvAgMBAAEwDQYJKoZI
|
||||
hvcNAQELBQADggEBADqK2F1OLMawmFrWy/3IUaT6lPj+o8faHpLrQc5aC+xNzArv
|
||||
KBUnj4BBUIFuPlicJtmTSZtn0yM/HVcTqfOnYzIv2ATI8/RWTwLjCfZLviWiQcu0
|
||||
EZECjVIecZuAT5O5JBdIrk7BEqaARazeY+X9S5e9oe99x4DmAOqWfMb79FCznJAi
|
||||
snEDuf5eftvZOCsnZdjWlq5Z/fruSr5JIyPX0wi4T2ktjkPWNeXWI8R2Gzum/hLM
|
||||
L0NXnDrbdvGxFAK15H8FDR2665GFfSLJ63R7ahb8KDzrd1fUPcP+Sqqd/PyQTVdn
|
||||
BzOIEpU0wTVhr7fcxs8H0mYzJuVZ++Cov3jGNNc=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4dR5v+LyNYFo8
|
||||
fb4v0Wz1bZEmbWLmAjbqfPqkVZLT7cmARpc5O92OHNsNQkMSagvxoDRgddPFH9H2
|
||||
XQ4jOf4n0WMZ8hm9zlS/yP8DcRNyWqhVE1G1dfGl4TbxbbEC9dDmv7+ZZsq9GLmS
|
||||
8+59eOEm08b4ZfMLTwYRYgr4SUimtbb1UajWKhBMCxXl3+xgnoNgFnX8LiIVoCEo
|
||||
Uncyng3bfBK93vxZNCkzA1OOubG8vV+evnOhqDxjKRpOMArrYCFcWYvq+kj16qI4
|
||||
vYUxJ63rMP2LE13ZRhlFnEoFHSYu0GVL/z02luAHwZKCv7g8UaCVHdzP6Xm70eTn
|
||||
XmVhSPjvAgMBAAECggEAVbyqfyVAjv4gM0nHIvbXDGT3OMNTWtHgsLGS1tunubYn
|
||||
GOa217WJz8p9zvXjsyVzk8YBUmyyGEgoEblDHwCPr/ZVd/PeHylOny5Pyku+3EJj
|
||||
R9gI/K1rusyp+yIfSt7zUK4D4suypJ5fc3zKd6u+C4wYSdEpXTJIAcBulOWLTWET
|
||||
FbIYhIOPdceMpUUL7YatUMkZ+Qea48kBwb9CvVeAmfYwQ8XSbcQtom67goJquvG6
|
||||
rTzjTStA+2b0jVGf016QiNRl2cuh55mDbroUDtVu5pLHzRKgNndZ3tPk5uIgtrVW
|
||||
1pxzxdb6G+J2Rk6XNvBKScD33A5T48pYEJVIcubfYQKBgQDh48eWYepGUjRZjLNT
|
||||
fRs6q5OGvqNxSroEiOhotSSWhPfG00kv6QPaeUu38LRE7t2vbtNpMWaJasla3dJo
|
||||
0jppMkUnwwH/WbJZQ3WSkkFutuCECwsMwxiW5WNVNlAIMrrsH4lQ+334GnAOYRdl
|
||||
p9C6nAnmjESayY4NhDJytcZxZwKBgQDRC4Mg7/RBO6ZXqZ56G9j647ABulfqMkjg
|
||||
4aDpyyiA2w6BYeLpRGHlSOq0Q4/k72J9a17+UdAgmiZdxC9VtxIFfEdls2l1CANq
|
||||
a6VXnHu86PexSVpg6RG5HhGg1FKGM/guXMoCVKfbYZLHkydK/KYiWKdNeLAdo3fL
|
||||
qh98EoffOQKBgQCleaA3CMl+9C9HPmwLiAVPaGss9TB0CMLWGZjvQ2tnHEcKjrL5
|
||||
duAMxnhyadEVAkrBfhU+5SJxHhodB4xgn0iM0XeZliA7d/DPtTxGv/9Q5IT6FcDl
|
||||
e3Hi8G1g+eWM6+TEnqGQAnuYKX3W+scR/+pHGZGjIzQKlAYM3r+6CnExlwKBgEWV
|
||||
dm2lUgHQ0DsH7Aerc1t4JOM+WvtLB7VLhZutE2to/3gT1EtfhtKipfWhM6m6AWfM
|
||||
MM+o/gWMKk81+aeni6klyEJTKTxakYCAGoaCQTINvj1WNG5jxpF/L9EAPAQOEoOk
|
||||
QV3rPgCphwlFs2Ojm819Axunm8AR5NN3aomLRY0JAoGBAKhD1G6xsnmQyTGQfbCN
|
||||
zzXdb5VhK69LmjK9SgfWbY6g6wLJgceQhwjy6sMPBvppJMXKi0F849B2lZscoaqu
|
||||
+NmVRbdbD+vSREfvvN0TIr2Gm7dw9n+efEDlyVUGM4DYYee/qM+5bA0AIQkCMJVw
|
||||
U48l+8AlqzXL7c7f8Ol9gVFu
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,41 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import BaseHTTPServer
|
||||
from SimpleHTTPServer import SimpleHTTPRequestHandler
|
||||
import os
|
||||
import socket
|
||||
import ssl
|
||||
import json
|
||||
import random
|
||||
|
||||
script_home = os.path.dirname(os.path.abspath(__file__))
|
||||
ip = "127.0.0.1"
|
||||
port = 8888
|
||||
response_data = """{
|
||||
"token": "ob_test1",
|
||||
"key": "5D6A57468605ADB17C065B3423E7112D",
|
||||
"hash": "E185FFAD6642A467BF8E4311086E80A9B9F6B55D6BF2FE6A13F935E0479FC558",
|
||||
"keyversion": "1",
|
||||
"success": true,
|
||||
"msg": ""
|
||||
}
|
||||
"""
|
||||
|
||||
class MyHandler(SimpleHTTPRequestHandler):
|
||||
def do_POST(self):
|
||||
self.data_string = self.rfile.read(int(self.headers['Content-Length']))
|
||||
|
||||
self.end_headers()
|
||||
print self.data_string
|
||||
self.wfile.write(response_data)
|
||||
return
|
||||
|
||||
def main():
|
||||
print ("simple https server, address:%s:%d" % (ip, port))
|
||||
|
||||
httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', port), MyHandler)
|
||||
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='./mock_kms.pem', server_side=True)
|
||||
httpd.serve_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@ -197,7 +197,7 @@ TEST(TestEncryptionUtil, encrypt_master_key)
|
||||
// ObServerConfig &config = ObServerConfig::get_instance();
|
||||
// ASSERT_EQ(OB_SUCCESS, config.init(sys_config));
|
||||
// ws.init(config);
|
||||
// config.obconfig_url.set_value("http://api.test.ocp.oceanbase.alibaba.net/services?Action=ObRootServiceInfo&User_ID=ocptest&UID=rongwei.drw&ObRegion=xr.admin");
|
||||
// config.obconfig_url.set_value("");
|
||||
// config.cluster_id.set_value("1");
|
||||
// config.cluster.set_value("xr.admin");
|
||||
// ObArray<ObRootAddr> rs_list;
|
||||
|
||||
@ -134,7 +134,7 @@ public:
|
||||
DEF_INT_LIST(test_int_list_2, "1;2;3", "test list");
|
||||
DEF_STR_LIST(test_str_list, "str1;str2;str3", "test list");
|
||||
DEF_STR_LIST(test_str_list_2, "str1;str2;str3", "test list");
|
||||
DEF_STR(url, "http://a.cc/?name=fufeng&pass=fufeng_pass", "test url");
|
||||
DEF_STR(url, "test url", "test url");
|
||||
|
||||
DEF_DBL(dbl1, "1.234", "some info");
|
||||
DEF_DBL(dbl2, "1.234", "[1.234,5.321]", "some info");
|
||||
@ -374,7 +374,7 @@ TEST_F(TestServerConfig, ALL)
|
||||
test_str_list = "123x";
|
||||
EXPECT_TRUE(test_int_list.valid());
|
||||
|
||||
EXPECT_STREQ("http://a.cc/?name=fufeng&pass=fufeng_pass", url.str());
|
||||
EXPECT_STREQ("test url", url.str());
|
||||
|
||||
EXPECT_EQ(1.234, dbl1);
|
||||
EXPECT_EQ(1.234, dbl2);
|
||||
|
||||
@ -1,204 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 OceanBase
|
||||
* OceanBase CE is licensed under Mulan PubL v2.
|
||||
* You can use this software according to the terms and conditions of the Mulan PubL v2.
|
||||
* You may obtain a copy of Mulan PubL v2 at:
|
||||
* http://license.coscl.org.cn/MulanPubL-2.0
|
||||
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
* See the Mulan PubL v2 for more details.
|
||||
*/
|
||||
|
||||
#define USING_LOG_PREFIX SHARE
|
||||
#include <gtest/gtest.h>
|
||||
#include "lib/restore/oss/include/oss_c_sdk/aos_http_io.h"
|
||||
#include "lib/restore/oss/include/oss_c_sdk/aos_define.h"
|
||||
#include "vsclient.h"
|
||||
#include "lib/utility/ob_test_util.h"
|
||||
#include "share/restore/ob_restore_uri_parser.h"
|
||||
#include "share/restore/ob_restore_base_reader.h"
|
||||
#include "lib/restore/ob_storage.h"
|
||||
#include "share/restore/ob_oss_resource_reader.h"
|
||||
|
||||
using namespace oceanbase::common;
|
||||
using namespace oceanbase::share;
|
||||
using namespace oceanbase::share::restore;
|
||||
class TestRestoreReader: public ::testing::Test
|
||||
{
|
||||
public:
|
||||
TestRestoreReader();
|
||||
virtual ~TestRestoreReader();
|
||||
virtual void SetUp();
|
||||
virtual void TearDown();
|
||||
private:
|
||||
// disallow copy
|
||||
DISALLOW_COPY_AND_ASSIGN(TestRestoreReader);
|
||||
protected:
|
||||
// function members
|
||||
protected:
|
||||
// data members
|
||||
};
|
||||
|
||||
TestRestoreReader::TestRestoreReader()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
int aos_ret = AOSE_OK;
|
||||
if(AOSE_OK != (aos_ret = aos_http_io_initialize(NULL, 0))) {
|
||||
OB_LOG(WARN, "fail to init aos", K(aos_ret));
|
||||
}
|
||||
VIPSrv_Result *result = NULL;
|
||||
VIPSrv_Config config;
|
||||
config.jmenv_dom = "jmenv.tbsite.net";
|
||||
config.cache_dir = getenv("HOME");
|
||||
if(NULL == (result = vipsrv_global_init(&config))) {
|
||||
ret = OB_OSS_ERROR;
|
||||
OB_LOG(WARN, "fail to init vipserver", K(ret));
|
||||
} else if(!result->is_success) {
|
||||
ret = OB_OSS_ERROR;
|
||||
OB_LOG(WARN, "fail to init vipserver", K(ret));
|
||||
}
|
||||
|
||||
if(NULL != result) {
|
||||
vipsrv_result_deref(result);
|
||||
}
|
||||
}
|
||||
|
||||
TestRestoreReader::~TestRestoreReader()
|
||||
{
|
||||
vipsrv_global_cleanup();
|
||||
aos_http_io_deinitialize();
|
||||
}
|
||||
|
||||
void TestRestoreReader::SetUp()
|
||||
{
|
||||
const int64_t MAX_BUF_SIZE = 2048;
|
||||
char write_buf[MAX_BUF_SIZE];
|
||||
char uri[OB_MAX_URI_LENGTH];
|
||||
int n = 0;
|
||||
ObBackupIoAdapter util;
|
||||
const char *storage_info = "host=oss-cn-hangzhou-zmf.aliyuncs.com&access_id=LTAIwCjHu9OYhWyx&access_key=RHyQfn2TnnOyY9wsedthx1nx9EVkH3";
|
||||
|
||||
//resource unit
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE RESOURCE UNIT small_unit MAX_CPU 18.000000, MEMORY_SIZE 21474836480;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/resource_unit_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//resource pool
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE RESOURCE POOL pool1 UNIT small_unit, UNIT_NUM 1, ZONE_LIST ('zone1');");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/resource_pool_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//create tenant
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE TENANT tt1 charset=utf8mb4, replica_num=5, zone_list('zone1'), primary_zone='zone1', "
|
||||
"locality='FULL{1}@zone1', resource_pool_list('pool1');");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/create_tenant_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//create database
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE DATABASE IF NOT EXISTS `obtrade` DEFAULT CHARACTER SET = utf8mb4 REPLICA_NUM = 5;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/create_database_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//system variable
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "set global wait_timeout = 28800;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/system_variable_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//create_user_definition
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "create user monitor IDENTIFIED BY PASSWORD '*1975d095ac033caf4e1bf94f7202a9bbfeeb66f1';");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/create_user_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//user_privilege_definition
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "GRANT ALL PRIVILEGES ON *.* TO 'admin' WITH GRANT OPTION;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/user_privilege_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//crate table
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, " CREATE TABLE obtrade.business_activity_000 ("
|
||||
"`TX_ID` varchar(256) NOT NULL id 16,"
|
||||
"`STATE` varchar(2) NOT NULL id 17,"
|
||||
"`ACCOUNT_TRANS_STATE` varchar(2) NOT NULL id 18,"
|
||||
"`GMT_CREATE` datetime NOT NULL id 19,"
|
||||
"`GMT_MODIFIED` datetime NOT NULL id 20,"
|
||||
"`PROPAGATION` varchar(2) DEFAULT NULL id 21,"
|
||||
"`CONTEXT` varchar(4096) DEFAULT NULL id 22,"
|
||||
"PRIMARY KEY (`TX_ID`),"
|
||||
"KEY `BUSINESS_ACTIVITY_GMT_IND` (`GMT_MODIFIED`) STORING (`STATE`) BLOCK_SIZE 16384 index_table_id = 1101710651081555"
|
||||
") DEFAULT CHARSET = utf8mb4 COMPRESSION = 'lz4_1.0' REPLICA_NUM = 5 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE "
|
||||
" TABLEGROUP = 'obtrade_tablegroup' table_id = 1101710651081554 ;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/435656765867/ob_trade_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//create_tablegroup_definition
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE TABLEGROUP tg1;");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/create_tablegroup_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//backup_info
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "0_127_1496650316422256_0");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/tenant_id/1001/backup_info");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//data_table_ids
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "435656765867:ob_trade");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/data_table_ids_list");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//create index
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "CREATE UNIQUE INDEX __idx_1099511677787_haipeng_unique_index on oceanbase.haipeng ("
|
||||
"`c1` int(11) NOT NULL id 16,"
|
||||
"`c2` int(11) DEFAULT NULL id 17,"
|
||||
"`c3` int(11) DEFAULT NULL id 18"
|
||||
") BLOCK_SIZE 16384 index_table_id = 1099511677791 data_table_id = 1099511677787 STORING (`c2`);");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/435656765867/__idx_1099511677787_haipeng_unique_index_definition");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
//index_table_ids
|
||||
n = snprintf(write_buf, MAX_BUF_SIZE, "435656765867:1099511677787:__idx_1099511677787_haipeng_unique_index");
|
||||
snprintf(uri, OB_MAX_URI_LENGTH, "oss://071092/unittest/127/1001/index_table_ids_list");
|
||||
EXPECT_EQ(OB_SUCCESS, util.write_single_file(uri, storage_info, write_buf, n));
|
||||
}
|
||||
|
||||
void TestRestoreReader::TearDown()
|
||||
{
|
||||
}
|
||||
|
||||
TEST_F(TestRestoreReader, test_basic)
|
||||
{
|
||||
// The following only applies to offline testing. Regression testing on farm will always report errors and there is no runtime environment.
|
||||
|
||||
ObRestoreArgs arg;
|
||||
const char *uri_001 = "oss://071092/unittest/1001?timestamp=1496650316422256&host=oss-cn-hangzhou-zmf.aliyuncs.com&access_id=LTAIwCjHu9OYhWyx&access_key=RHyQfn2TnnOyY9wsedthx1nx9EVkH3&restore_user=a&restore_pass=b";
|
||||
EXPECT_EQ(OB_SUCCESS, ObRestoreURIParser::parse(ObString(uri_001), arg));
|
||||
LOG_INFO("arg info", K(arg));
|
||||
|
||||
ObRestoreBaseReader reader(arg);
|
||||
ObArray<ObString> stmts;
|
||||
ASSERT_EQ(OB_SUCCESS, reader.init(ObString(uri_001)));
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_unit_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_pool_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
ObString stmt;
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_tenant_stmt(stmt));
|
||||
LOG_INFO("restore test", K(arg), K(stmt));
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_tablegroup_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_database_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_data_table_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, reader.get_create_index_table_stmts(stmts));
|
||||
LOG_INFO("restore test", K(arg), K(stmts));
|
||||
ASSERT_TRUE(stmts.count() > 0);
|
||||
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
oceanbase::common::ObLogger::get_logger().set_log_level("INFO");
|
||||
OB_LOGGER.set_mod_log_levels("ALL.*:INFO,LIB.MYSQLC:ERROR");
|
||||
::testing::InitGoogleTest(&argc,argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
@ -880,4 +880,4 @@ int main(int argc, char **argv)
|
||||
CLOG_LOG(INFO, "begin unittest: test_compaction_policy");
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
}
|
||||
|
||||
@ -451,7 +451,7 @@ int TestDmlCommon::build_table_scan_param_base_(
|
||||
scan_param.limit_param_.offset_ = 0;
|
||||
scan_param.need_scn_ = false;
|
||||
scan_param.pd_storage_flag_ = false;
|
||||
scan_param.fb_snapshot_ = transaction::ObTransVersion::INVALID_TRANS_VERSION;
|
||||
scan_param.fb_snapshot_.reset();
|
||||
|
||||
ObNewRange range;
|
||||
range.table_id_ = table_id;
|
||||
|
||||
@ -410,7 +410,7 @@ int TestLobCommon::build_lob_meta_table_scan_param(
|
||||
scan_param.limit_param_.offset_ = 0;
|
||||
scan_param.need_scn_ = false;
|
||||
scan_param.pd_storage_flag_ = false;
|
||||
scan_param.fb_snapshot_ = transaction::ObTransVersion::INVALID_TRANS_VERSION;
|
||||
scan_param.fb_snapshot_.reset();
|
||||
|
||||
ObNewRange range;
|
||||
range.table_id_ = table_id;
|
||||
|
||||
Reference in New Issue
Block a user