Commit 4e30a5f0 authored by Jorge Camarero Vera's avatar Jorge Camarero Vera
Browse files

Resolve "cta v4.3-2 release"

parent 9c0ba2a4
Pipeline #13756 failed with stages
in 10 minutes and 56 seconds
# v4.NEXT
# v4.3-2
## Summary
### Features
- cta/CTA#1026 `cta-admin sq` now shows the mount policies of potential mounts
- cta-admin: All short options with more than one character now require two dashes
### Bug fixes
- cta/CTA#1013 reportType uninitialized
- cta/CTA#1035 log configuration options on frontend startup
- cta/CTA#1042 Do not iterate over retrieve queues when holding global scheduler lock
- Repacks on a disabled tape must now use a mount policy whose name starts with repack
- There is no longer an empty mount when a disabled/broken tape queue is full of deleted requests
- cta/CTA#1027 Mitigate popNextBatch bad behaviour in archive queues
- Migration tools: fixes filemode of files imported from CASTOR to EOS
- cta/CTA#1044 Fix segmentation fault due to uninitialized optional value and remove diskSpaceReservations from `cta-admin dr ls`
# v4.3-1
## Summary
### Features
- cta/CTA#976 Add logical part of Drive Status using Catalogue
- cta/CTA#988 Add diskSpaceReservations map in cta-admin --json dr ls output.
- cta/CTA#983
- Add cta-versionlock helper script to cta-release package
- Update cta repo file to use the new public repo
......@@ -28,21 +24,46 @@
- cta/CTA#1041 Fix host values in cta-admin commands
### Bug fixes
- cta/CTA#501 cta-taped should set the state to DOWN when machine rebooting
- cta/CTA#955 cta-taped daemon should stop "immediately" and cleanly when systemctl stop/restart is executed
- cta/CTA#991 Drive is not put down if the device file is removed while cta-taped is running and before a data transfer
- cta/CTA#996 Removes PARALLEL from migration scripts
- cta/CTA#1029 Fix segmentatin fault in frontend when list repacks of a tape that has been deleted in the catalogue
- cta/CTA#1031 Fix Warning in updateDriveStatus
- cta/CTA#1032 cta-admin dr ls crashes the frontend if executed during an archive/retrieve
- cta/CTA#996 Removes PARALLEL from migration scripts
- cta/CTA#991 Drive is not put down if the device file is removed while cta-taped is running and before a data transfer
# v4.2-3
## Summary
### Features
- cta/CTA#983
- Add cta-versionlock helper script to cta-release package
- Update cta repo file to use the new public repo
- cta/CTA#1036 Better error reporting in cta-admin tools
- cta/CTA#1039 Improve logging of cta admin commands in cta frontend
- cta/CTA#1041 Fix host values in cta-admin commands
- cta/CTA#1026 `cta-admin sq` now shows the mount policies of potential mounts
### Bug fixes
- cta/CTA#1029 Fix segmentatin fault in frontend when list repacks of a tape that has been deleted in the catalogue
- cta/CTA#1032 cta-admin dr ls crashes the frontend if executed during an archive/retrieve
- cta/CTA#996 Removes PARALLEL from migration scripts
- cta/CTA#1035 log configuration options on frontend startup
- cta/CTA#1042 Do not iterate over retrieve queues when holding global scheduler lock
- Repacks on a disabled tape must now use a mount policy whose name starts with repack
- There is no longer an empty mount when a disabled/broken tape queue is full of deleted requests
- cta/CTA#1027 Mitigate popNextBatch bad behaviour in archive queues
- Migration tools: fixes filemode of files imported from CASTOR to EOS
# v4.2-2
## Summary
### Features
- cta/CTA#976 Add logical part of Drive Status using Catalogue
- cta/CTA#988 Add diskSpaceReservations map in cta-admin --json dr ls output.
### Bug fixes
- cta/CTA#1029 Fix segmentatin fault in frontend when list repacks of a tape that has been deleted in the catalogue
# v4.2-1
......
......@@ -230,9 +230,7 @@ void TextFormatter::printDriveLsHeader() {
"priority",
"activity",
"age",
"reason",
"disk_system_name",
"reserved_bytes"
"reason"
);
}
......@@ -291,9 +289,7 @@ void TextFormatter::print(const DriveLsItem &drls_item)
drls_item.current_priority(),
drls_item.current_activity(),
timeSinceLastUpdate,
reason,
drls_item.disk_system_name(),
drls_item.reserved_bytes()
reason
);
}
......
......@@ -16,6 +16,7 @@
*/
#include <algorithm>
#include <list>
#include "common/dataStructures/DesiredDriveState.hpp"
#include "common/dataStructures/DriveInfo.hpp"
......@@ -70,6 +71,7 @@ std::list<cta::common::dataStructures::TapeDrive> TapeDrivesCatalogueState::getD
const auto driveNames = m_catalogue.getTapeDriveNames();
for (const auto& driveName : driveNames) {
const auto tapeDrive = m_catalogue.getTapeDrive(driveName);
if (!tapeDrive) continue;
tapeDrivesList.push_back(tapeDrive.value());
}
return tapeDrivesList;
......@@ -114,8 +116,11 @@ void TapeDrivesCatalogueState::updateDriveStatistics(const common::dataStructure
switch (driveState.value().driveStatus) {
case common::dataStructures::DriveStatus::Transferring:
{
const time_t timeDifference = inputs.reportTime - driveState.value().lastModificationLog.value().time;
const uint64_t bytesDifference = inputs.bytesTransferred - driveState.value().bytesTransferedInSession.value();
const time_t timeDifference = inputs.reportTime - driveState.value().lastModificationLog.value().time;
uint64_t bytesTransferedInSession = 0;
if (driveState.value().bytesTransferedInSession)
bytesTransferedInSession = driveState.value().bytesTransferedInSession.value();
const uint64_t bytesDifference = inputs.bytesTransferred - bytesTransferedInSession;
driveState.value().lastModificationLog = common::dataStructures::EntryLog(
"NO_USER", driveInfo.host, inputs.reportTime);
driveState.value().bytesTransferedInSession = inputs.bytesTransferred;
......@@ -628,7 +633,7 @@ common::dataStructures::TapeDrive TapeDrivesCatalogueState::setTapeDriveStatus(
tapeDriveStatus.desiredForceDown = desiredState.forceDown;
if (desiredState.reason) tapeDriveStatus.reasonUpDown = desiredState.reason;
if (desiredState.comment) tapeDriveStatus.userComment = desiredState.comment;
tapeDriveStatus.diskSystemName = "NOT_SET";
tapeDriveStatus.diskSystemName = "NULL";
tapeDriveStatus.reservedBytes = 0;
tapeDriveStatus.devFileName = tpConfigLine.devFilename;
tapeDriveStatus.rawLibrarySlot = tpConfigLine.rawLibrarySlot;
......
......@@ -124,7 +124,7 @@ int DriveLsStream::fillBuffer(XrdSsiPb::OStreamBuffer<Data> *streambuf) {
dr_item->set_files_transferred_in_session(dr.filesTransferedInSession ? dr.filesTransferedInSession.value() : 0);
dr_item->set_bytes_transferred_in_session(dr.bytesTransferedInSession ? dr.bytesTransferedInSession.value() : 0);
if (dr.latestBandwidth && std::isdigit(dr.latestBandwidth.value().at(0)))
dr_item->set_latest_bandwidth(std::stoi(dr.latestBandwidth.value()));
dr_item->set_latest_bandwidth(std::stod(dr.latestBandwidth.value()));
else
dr_item->set_latest_bandwidth(0);
dr_item->set_session_id(dr.sessionId ? dr.sessionId.value() : 0);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment