reghao vor 2 Wochen
Ursprung
Commit
e7f0b8033b

+ 5 - 2
oss-mgr/src/main/java/cn/reghao/oss/mgr/db/repository/ObjectRepository.java

@@ -39,6 +39,10 @@ public class ObjectRepository {
         fileMetaMapper.save(fileMeta);
     }
 
+    public void saveDataBlock(DataBlock dataBlock) {
+        dataBlockMapper.save(dataBlock);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public void saveFileMeta(FileMeta fileMeta, UploadResult uploadResult) {
         String uploadId = uploadResult.getObjectId();
@@ -67,7 +71,6 @@ public class ObjectRepository {
     @CacheEvict(cacheNames = "oss:store:objectMeta", key = "#objectName")
     public void updateObjectScope(int scope, String objectName) {
         fileMetaMapper.updateScopeByObjectName(scope, objectName);
-        log.info("evict {}", objectName);
     }
 
     /**
@@ -91,7 +94,7 @@ public class ObjectRepository {
     public void deleteObjectPhysical(String objectId) {
     }
 
-    public DataBlock getBySha256sum(String sha256sum) {
+    public DataBlock getDataBlockBySha256sum(String sha256sum) {
         DataBlock dataBlock = dataBlockMapper.findBySha256sum(sha256sum);
         return dataBlock;
     }

+ 4 - 11
oss-mgr/src/main/java/cn/reghao/oss/mgr/rpc/ConsoleServiceImpl.java

@@ -9,8 +9,6 @@ import cn.reghao.oss.api.dto.StoreNodeDto;
 import cn.reghao.oss.api.dto.rest.FastUploadResult;
 import cn.reghao.oss.api.dto.rest.UploadDoneResult;
 import cn.reghao.oss.api.dto.rest.UploadResult;
-import cn.reghao.oss.mgr.db.mapper.DataBlockMapper;
-import cn.reghao.oss.mgr.db.mapper.FileMetaMapper;
 import cn.reghao.oss.mgr.db.mapper.UploadTaskMapper;
 import cn.reghao.oss.mgr.db.repository.ObjectRepository;
 import cn.reghao.oss.mgr.model.po.*;
@@ -36,20 +34,15 @@ public class ConsoleServiceImpl implements ConsoleService {
     private final UploadChannelService uploadChannelService;
     private final UserNodeService userNodeService;
     private final UploadTaskMapper uploadTaskMapper;
-    private final FileMetaMapper fileMetaMapper;
-    private final DataBlockMapper dataBlockMapper;
 
     public ConsoleServiceImpl(StoreNodeService storeNodeService, ObjectRepository objectRepository,
                               UploadChannelService uploadChannelService, UserNodeService userNodeService,
-                              UploadTaskMapper uploadTaskMapper, FileMetaMapper fileMetaMapper,
-                              DataBlockMapper dataBlockMapper) {
+                              UploadTaskMapper uploadTaskMapper) {
         this.storeNodeService = storeNodeService;
         this.objectRepository = objectRepository;
         this.uploadChannelService = uploadChannelService;
         this.userNodeService = userNodeService;
         this.uploadTaskMapper = uploadTaskMapper;
-        this.fileMetaMapper = fileMetaMapper;
-        this.dataBlockMapper = dataBlockMapper;
     }
 
     @Override
@@ -59,7 +52,7 @@ public class ConsoleServiceImpl implements ConsoleService {
 
     @Override
     public boolean checkExists(String sha256sum) {
-        return objectRepository.getBySha256sum(sha256sum) != null;
+        return objectRepository.getDataBlockBySha256sum(sha256sum) != null;
     }
 
     @Override
@@ -107,12 +100,12 @@ public class ConsoleServiceImpl implements ConsoleService {
         String objectId = uploadDoneResult.getObjectId();
         FileMeta fileMeta = objectRepository.getFileMetaById(objectId);
         if (fileMeta == null) {
+            log.error("FileMeta with objectId {} not exist", objectId);
             return;
         }
 
         DataBlock dataBlock = new DataBlock(uploadDoneResult);
-        dataBlockMapper.save(dataBlock);
-
+        objectRepository.saveDataBlock(dataBlock);
         UploadTask uploadTask = uploadTaskMapper.findByUploadId(uploadId);
         if (uploadTask == null || !uploadTask.getSha256sum().equals(sha256sum)) {
             return;

+ 1 - 1
oss-mgr/src/main/java/cn/reghao/oss/mgr/service/OssClientService.java

@@ -271,7 +271,7 @@ public class OssClientService {
             String host = "";
             int httpPort = 0;
             String sha256sum = fileMeta.getSha256sum();
-            DataBlock dataBlock = dataBlockMapper.findBySha256sum(sha256sum);
+            DataBlock dataBlock = objectRepository.getDataBlockBySha256sum(sha256sum);
             UploadTask uploadTask = uploadTaskMapper.findByUploadId(objectId);
             if (dataBlock != null) {
                 String hostPort = dataBlock.getHostPort();

+ 5 - 7
oss-mgr/src/main/java/cn/reghao/oss/mgr/service/PartUploadService.java

@@ -35,17 +35,15 @@ public class PartUploadService {
     private final StoreNodeMapper storeNodeMapper;
     private final UploadTaskMapper uploadTaskMapper;
     private final RpcService rpcService;
-    private final FileMetaMapper fileMetaMapper;
     private final UploadChannelMapper uploadChannelMapper;
 
     public PartUploadService(ObjectRepository objectRepository, StoreNodeMapper storeNodeMapper,
-                             UploadTaskMapper uploadTaskMapper, RpcService rpcService, FileMetaMapper fileMetaMapper,
+                             UploadTaskMapper uploadTaskMapper, RpcService rpcService,
                              UploadChannelMapper uploadChannelMapper) {
         this.objectRepository = objectRepository;
         this.storeNodeMapper = storeNodeMapper;
         this.uploadTaskMapper = uploadTaskMapper;
         this.rpcService = rpcService;
-        this.fileMetaMapper = fileMetaMapper;
         this.uploadChannelMapper = uploadChannelMapper;
     }
 
@@ -53,8 +51,8 @@ public class PartUploadService {
         String uploadId = UUID.randomUUID().toString().replace("-", "");
         long size = uploadPrepare.getSize();
         String sha256sum = uploadPrepare.getSha256sum();
-        DataBlock dataBlock = objectRepository.getBySha256sum(sha256sum);
-        List<FileMeta> fileMetaList = fileMetaMapper.findBySha256sum(sha256sum);
+        DataBlock dataBlock = objectRepository.getDataBlockBySha256sum(sha256sum);
+        List<FileMeta> fileMetaList = objectRepository.getFileMetaBySha256sum(sha256sum);
         UploadPrepareRet uploadPrepareRet;
         long randomOffset = 0;
         if (dataBlock != null && !fileMetaList.isEmpty()) {
@@ -83,7 +81,7 @@ public class PartUploadService {
             long offset = uploadTask.getOffset();
             int length = uploadTask.getLength();
             String sha256sum = uploadTask.getSha256sum();
-            DataBlock dataBlock = objectRepository.getBySha256sum(sha256sum);
+            DataBlock dataBlock = objectRepository.getDataBlockBySha256sum(sha256sum);
             String hostPort = dataBlock.getHostPort();
             String[] arr = hostPort.split(":");
             String host = arr[0];
@@ -99,7 +97,7 @@ public class PartUploadService {
                     int channelCode = uploadTask.getChannelCode();
                     UploadChannel uploadChannel = uploadChannelMapper.findByCreateByAndChannelCode(uploadBy, channelCode);
                     String channelPrefix = uploadChannel.getPrefix();
-                    List<FileMeta> fileMetaList = fileMetaMapper.findBySha256sum(sha256sum);
+                    List<FileMeta> fileMetaList = objectRepository.getFileMetaBySha256sum(sha256sum);
                     if (!fileMetaList.isEmpty()) {
                         FileMeta fileMeta0 = fileMetaList.getFirst();
                         String objectId = uploadTask.getUploadId();

+ 2 - 2
oss-mgr/src/main/resources/mapper/FileMetaMapper.xml

@@ -68,8 +68,8 @@
     <select id="findBySha256sum" resultType="cn.reghao.oss.mgr.model.po.FileMeta">
         select *
         from file_meta
-        where deleted is false and sha256sum=#{sha256sum}
-        order by create_time asc
+        where sha256sum=#{sha256sum}
+        order by id asc
         limit 10
     </select>
     <select id="findByObjectId" resultType="cn.reghao.oss.mgr.model.po.FileMeta">